Subversion Repositories Kolibri OS

Rev

Rev 6109 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4349 Serge 1
/*
2
 *  Written by Joel Sherrill .
3
 *
6099 serge 4
 *  COPYRIGHT (c) 1989-2014.
4349 Serge 5
 *
6
 *  On-Line Applications Research Corporation (OAR).
7
 *
8
 *  Permission to use, copy, modify, and distribute this software for any
9
 *  purpose without fee is hereby granted, provided that this entire notice
10
 *  is included in all copies of any software which is or includes a copy
11
 *  or modification of this software.
12
 *
13
 *  THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
14
 *  WARRANTY.  IN PARTICULAR,  THE AUTHOR MAKES NO REPRESENTATION
15
 *  OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS
16
 *  SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
17
 *
6099 serge 18
 *  $Id$
4349 Serge 19
 */
20
 
21
#ifndef _SYS_FEATURES_H
22
#define _SYS_FEATURES_H
23
 
24
#ifdef __cplusplus
25
extern "C" {
26
#endif
27
 
6536 serge 28
#include <_newlib_version.h>
6099 serge 29
 
4921 Serge 30
/* Macro to test version of GCC.  Returns 0 for non-GCC or too old GCC. */
31
#ifndef __GNUC_PREREQ
32
# if defined __GNUC__ && defined __GNUC_MINOR__
33
#  define __GNUC_PREREQ(maj, min) \
34
	((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
35
# else
36
#  define __GNUC_PREREQ(maj, min) 0
37
# endif
38
#endif /* __GNUC_PREREQ */
39
/* Version with trailing underscores for BSD compatibility. */
40
#define	__GNUC_PREREQ__(ma, mi)	__GNUC_PREREQ(ma, mi)
41
 
6536 serge 42
 
43
/*
44
 * Feature test macros control which symbols are exposed by the system
45
 * headers.  Any of these must be defined before including any headers.
46
 *
47
 * __STRICT_ANSI__ (defined by gcc -ansi, -std=c90, -std=c99, or -std=c11)
48
 *	ISO C
49
 *
50
 * _POSIX_SOURCE (deprecated by _POSIX_C_SOURCE=1)
51
 * _POSIX_C_SOURCE >= 1
52
 * 	POSIX.1-1990
53
 *
54
 * _POSIX_C_SOURCE >= 2
55
 * 	POSIX.2-1992
56
 *
57
 * _POSIX_C_SOURCE >= 199309L
58
 * 	POSIX.1b-1993 Real-time extensions
59
 *
60
 * _POSIX_C_SOURCE >= 199506L
61
 * 	POSIX.1c-1995 Threads extensions
62
 *
63
 * _POSIX_C_SOURCE >= 200112L
64
 * 	POSIX.1-2001 and C99
65
 *
66
 * _POSIX_C_SOURCE >= 200809L
67
 * 	POSIX.1-2008
68
 *
69
 * _XOPEN_SOURCE
70
 *	POSIX.1-1990 and XPG4
71
 *
72
 * _XOPEN_SOURCE_EXTENDED
73
 *	SUSv1 (POSIX.2-1992 plus XPG4v2)
74
 *
75
 * _XOPEN_SOURCE >= 500
76
 *	SUSv2 (POSIX.1c-1995 plus XSI)
77
 *
78
 * _XOPEN_SOURCE >= 600
79
 *	SUSv3 (POSIX.1-2001 plus XSI) and C99
80
 *
81
 * _XOPEN_SOURCE >= 700
82
 *	SUSv4 (POSIX.1-2008 plus XSI)
83
 *
84
 * _ISOC99_SOURCE or gcc -std=c99 or g++
85
 * 	ISO C99
86
 *
87
 * _ISOC11_SOURCE or gcc -std=c11 or g++ -std=c++11
88
 * 	ISO C11
89
 *
90
 * _ATFILE_SOURCE (implied by _POSIX_C_SOURCE >= 200809L)
91
 *	"at" functions
92
 *
93
 * _LARGEFILE_SOURCE (deprecated by _XOPEN_SOURCE >= 500)
94
 *	fseeko, ftello
95
 *
96
 * _GNU_SOURCE
97
 * 	All of the above plus GNU extensions
98
 *
99
 * _BSD_SOURCE (deprecated by _DEFAULT_SOURCE)
100
 * _SVID_SOURCE (deprecated by _DEFAULT_SOURCE)
101
 * _DEFAULT_SOURCE (or none of the above)
102
 * 	POSIX-1.2008 with BSD and SVr4 extensions
103
 */
104
 
105
#ifdef _GNU_SOURCE
106
#undef _ATFILE_SOURCE
107
#define	_ATFILE_SOURCE		1
108
#undef	_DEFAULT_SOURCE
109
#define	_DEFAULT_SOURCE		1
110
#undef _ISOC99_SOURCE
111
#define	_ISOC99_SOURCE		1
112
#undef _ISOC11_SOURCE
113
#define	_ISOC11_SOURCE		1
114
#undef _POSIX_SOURCE
115
#define	_POSIX_SOURCE		1
116
#undef _POSIX_C_SOURCE
117
#define	_POSIX_C_SOURCE		200809L
118
#undef _XOPEN_SOURCE
119
#define	_XOPEN_SOURCE		700
120
#undef _XOPEN_SOURCE_EXTENDED
121
#define	_XOPEN_SOURCE_EXTENDED	1
122
#endif /* _GNU_SOURCE */
123
 
124
#if defined(_BSD_SOURCE) || defined(_SVID_SOURCE) || \
125
   (!defined(__STRICT_ANSI__) && !defined(_ANSI_SOURCE) && \
126
   !defined(_ISOC99_SOURCE) && !defined(_POSIX_SOURCE) && \
127
   !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE))
128
#undef _DEFAULT_SOURCE
129
#define	_DEFAULT_SOURCE		1
130
#endif
131
 
132
#if defined(_DEFAULT_SOURCE)
133
#undef _POSIX_SOURCE
134
#define	_POSIX_SOURCE		1
135
#undef _POSIX_C_SOURCE
136
#define	_POSIX_C_SOURCE		200809L
137
#endif
138
 
139
#if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) && \
140
  ((!defined(__STRICT_ANSI__) && !defined(_ANSI_SOURCE)) || \
141
   (_XOPEN_SOURCE - 0) >= 500)
142
#define	_POSIX_SOURCE		1
143
#if !defined(_XOPEN_SOURCE) || (_XOPEN_SOURCE - 0) >= 700
144
#define	_POSIX_C_SOURCE		200809L
145
#elif (_XOPEN_SOURCE - 0) >= 600
146
#define	_POSIX_C_SOURCE		200112L
147
#elif (_XOPEN_SOURCE - 0) >= 500
148
#define	_POSIX_C_SOURCE		199506L
149
#elif (_XOPEN_SOURCE - 0) < 500
150
#define	_POSIX_C_SOURCE		2
151
#endif
152
#endif
153
 
154
#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200809
155
#undef _ATFILE_SOURCE
156
#define	_ATFILE_SOURCE		1
157
#endif
158
 
159
/*
160
 * The following private macros are used throughout the headers to control
161
 * which symbols should be exposed.  They are for internal use only, as
162
 * indicated by the leading double underscore, and must never be used outside
163
 * of these headers.
164
 *
165
 * __POSIX_VISIBLE
166
 * 	any version of POSIX.1; enabled by default, or with _POSIX_SOURCE,
167
 * 	any value of _POSIX_C_SOURCE, or _XOPEN_SOURCE >= 500.
168
 *
169
 * __POSIX_VISIBLE >= 2
170
 * 	POSIX.2-1992; enabled by default, with _POSIX_C_SOURCE >= 2,
171
 * 	or _XOPEN_SOURCE >= 500.
172
 *
173
 * __POSIX_VISIBLE >= 199309
174
 * 	POSIX.1b-1993; enabled by default, with _POSIX_C_SOURCE >= 199309L,
175
 * 	or _XOPEN_SOURCE >= 500.
176
 *
177
 * __POSIX_VISIBLE >= 199506
178
 * 	POSIX.1c-1995; enabled by default, with _POSIX_C_SOURCE >= 199506L,
179
 * 	or _XOPEN_SOURCE >= 500.
180
 *
181
 * __POSIX_VISIBLE >= 200112
182
 * 	POSIX.1-2001; enabled by default, with _POSIX_C_SOURCE >= 200112L,
183
 * 	or _XOPEN_SOURCE >= 600.
184
 *
185
 * __POSIX_VISIBLE >= 200809
186
 * 	POSIX.1-2008; enabled by default, with _POSIX_C_SOURCE >= 200809L,
187
 * 	or _XOPEN_SOURCE >= 700.
188
 *
189
 * __XSI_VISIBLE
190
 *	XPG4 XSI extensions; enabled with any version of _XOPEN_SOURCE.
191
 *
192
 * __XSI_VISIBLE >= 4
193
 *	SUSv1 XSI extensions; enabled with both _XOPEN_SOURCE and
194
 * 	_XOPEN_SOURCE_EXTENDED together.
195
 *
196
 * __XSI_VISIBLE >= 500
197
 *	SUSv2 XSI extensions; enabled with _XOPEN_SOURCE >= 500.
198
 *
199
 * __XSI_VISIBLE >= 600
200
 *	SUSv3 XSI extensions; enabled with _XOPEN_SOURCE >= 600.
201
 *
202
 * __XSI_VISIBLE >= 700
203
 *	SUSv4 XSI extensions; enabled with _XOPEN_SOURCE >= 700.
204
 *
205
 * __ISO_C_VISIBLE >= 1999
206
 * 	ISO C99; enabled with gcc -std=c99 or newer (on by default since GCC 5),
207
 * 	any version of C++, or with _ISOC99_SOURCE, _POSIX_C_SOURCE >= 200112L,
208
 * 	or _XOPEN_SOURCE >= 600.
209
 *
210
 * __ISO_C_VISIBLE >= 2011
211
 * 	ISO C11; enabled with gcc -std=c11 or newer (on by default since GCC 5),
212
 * 	g++ -std=c++11 or newer (on by default since GCC 6), or with
213
 * 	_ISOC11_SOURCE.
214
 *
215
 * __ATFILE_VISIBLE
216
 *	"at" functions; enabled by default, with _ATFILE_SOURCE,
217
 * 	_POSIX_C_SOURCE >= 200809L, or _XOPEN_SOURCE >= 700.
218
 *
219
 * __LARGEFILE_VISIBLE
220
 *	fseeko, ftello; enabled with _LARGEFILE_SOURCE or _XOPEN_SOURCE >= 500.
221
 *
222
 * __BSD_VISIBLE
223
 * 	BSD extensions; enabled by default, or with _BSD_SOURCE.
224
 *
225
 * __SVID_VISIBLE
226
 * 	SVr4 extensions; enabled by default, or with _SVID_SOURCE.
227
 *
228
 * __MISC_VISIBLE
229
 * 	Extensions found in both BSD and SVr4 (shorthand for
230
 * 	(__BSD_VISIBLE || __SVID_VISIBLE)), or newlib-specific
231
 * 	extensions; enabled by default.
232
 *
233
 * __GNU_VISIBLE
234
 * 	GNU extensions; enabled with _GNU_SOURCE.
235
 *
236
 * In all cases above, "enabled by default" means either by defining
237
 * _DEFAULT_SOURCE, or by not defining any of the public feature test macros.
238
 * Defining _GNU_SOURCE makes all of the above avaliable.
239
 */
240
 
241
#ifdef _ATFILE_SOURCE
242
#define	__ATFILE_VISIBLE	1
243
#else
244
#define	__ATFILE_VISIBLE	0
245
#endif
246
 
247
#ifdef _DEFAULT_SOURCE
248
#define	__BSD_VISIBLE		1
249
#else
250
#define	__BSD_VISIBLE		0
251
#endif
252
 
253
#ifdef _GNU_SOURCE
254
#define	__GNU_VISIBLE		1
255
#else
256
#define	__GNU_VISIBLE		0
257
#endif
258
 
259
#if defined(_ISOC11_SOURCE) || \
260
  (__STDC_VERSION__ - 0) >= 201112L || (__cplusplus - 0) >= 201103L
261
#define	__ISO_C_VISIBLE		2011
262
#elif defined(_ISOC99_SOURCE) || (_POSIX_C_SOURCE - 0) >= 200112L || \
263
  (__STDC_VERSION__ - 0) >= 199901L || defined(__cplusplus)
264
#define	__ISO_C_VISIBLE		1999
265
#else
266
#define	__ISO_C_VISIBLE		1990
267
#endif
268
 
269
#if defined(_LARGEFILE_SOURCE) || (_XOPEN_SOURCE - 0) >= 500
270
#define	__LARGEFILE_VISIBLE	1
271
#else
272
#define	__LARGEFILE_VISIBLE	0
273
#endif
274
 
275
#ifdef _DEFAULT_SOURCE
276
#define	__MISC_VISIBLE		1
277
#else
278
#define	__MISC_VISIBLE		0
279
#endif
280
 
281
#if (_POSIX_C_SOURCE - 0) >= 200809L
282
#define	__POSIX_VISIBLE		200809
283
#elif (_POSIX_C_SOURCE - 0) >= 200112L
284
#define	__POSIX_VISIBLE		200112
285
#elif (_POSIX_C_SOURCE - 0) >= 199506L
286
#define	__POSIX_VISIBLE		199506
287
#elif (_POSIX_C_SOURCE - 0) >= 199309L
288
#define	__POSIX_VISIBLE		199309
289
#elif (_POSIX_C_SOURCE - 0) >= 2 || defined(_XOPEN_SOURCE)
290
#define	__POSIX_VISIBLE		199209
291
#elif defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE)
292
#define	__POSIX_VISIBLE		199009
293
#else
294
#define	__POSIX_VISIBLE		0
295
#endif
296
 
297
#ifdef _DEFAULT_SOURCE
298
#define	__SVID_VISIBLE		1
299
#else
300
#define	__SVID_VISIBLE		0
301
#endif
302
 
303
#if (_XOPEN_SOURCE - 0) >= 700
304
#define	__XSI_VISIBLE		700
305
#elif (_XOPEN_SOURCE - 0) >= 600
306
#define	__XSI_VISIBLE		600
307
#elif (_XOPEN_SOURCE - 0) >= 500
308
#define	__XSI_VISIBLE		500
309
#elif defined(_XOPEN_SOURCE) && defined(_XOPEN_SOURCE_EXTENDED)
310
#define	__XSI_VISIBLE		4
311
#elif defined(_XOPEN_SOURCE)
312
#define	__XSI_VISIBLE		1
313
#else
314
#define	__XSI_VISIBLE		0
315
#endif
316
 
4349 Serge 317
/* RTEMS adheres to POSIX -- 1003.1b with some features from annexes.  */
318
 
319
#ifdef __rtems__
320
#define _POSIX_JOB_CONTROL     		1
321
#define _POSIX_SAVED_IDS       		1
322
#define _POSIX_VERSION			199309L
323
#define _POSIX_ASYNCHRONOUS_IO		1
324
#define _POSIX_FSYNC			1
325
#define _POSIX_MAPPED_FILES		1
326
#define _POSIX_MEMLOCK			1
327
#define _POSIX_MEMLOCK_RANGE		1
328
#define _POSIX_MEMORY_PROTECTION	1
329
#define _POSIX_MESSAGE_PASSING		1
330
#define _POSIX_MONOTONIC_CLOCK		200112L
331
#define _POSIX_PRIORITIZED_IO		1
332
#define _POSIX_PRIORITY_SCHEDULING	1
333
#define _POSIX_REALTIME_SIGNALS		1
334
#define _POSIX_SEMAPHORES		1
335
/* #define _POSIX_SHARED_MEMORY_OBJECTS	1 */
336
#define _POSIX_SYNCHRONIZED_IO		1
337
#define _POSIX_TIMERS			1
338
#define _POSIX_BARRIERS                 200112L
339
#define _POSIX_READER_WRITER_LOCKS      200112L
340
#define _POSIX_SPIN_LOCKS               200112L
341
 
342
 
343
/* In P1003.1b but defined by drafts at least as early as P1003.1c/D10  */
344
#define _POSIX_THREADS				1
345
#define _POSIX_THREAD_ATTR_STACKADDR		1
346
#define _POSIX_THREAD_ATTR_STACKSIZE		1
347
#define _POSIX_THREAD_PRIORITY_SCHEDULING	1
348
#define _POSIX_THREAD_PRIO_INHERIT		1
349
#define _POSIX_THREAD_PRIO_PROTECT		1
350
#define _POSIX_THREAD_PROCESS_SHARED		1
351
#define _POSIX_THREAD_SAFE_FUNCTIONS		1
352
 
353
/* P1003.4b/D8 defines the constants below this comment. */
354
#define _POSIX_SPAWN				1
355
#define _POSIX_TIMEOUTS				1
356
#define _POSIX_CPUTIME				1
357
#define _POSIX_THREAD_CPUTIME			1
358
#define _POSIX_SPORADIC_SERVER			1
359
#define _POSIX_THREAD_SPORADIC_SERVER		1
360
#define _POSIX_DEVICE_CONTROL			1
361
#define _POSIX_DEVCTL_DIRECTION			1
362
#define _POSIX_INTERRUPT_CONTROL		1
363
#define _POSIX_ADVISORY_INFO			1
364
 
365
/* UNIX98 added some new pthread mutex attributes */
366
#define _UNIX98_THREAD_MUTEX_ATTRIBUTES         1
367
 
368
#endif
369
 
370
/* XMK loosely adheres to POSIX -- 1003.1 */
371
#ifdef __XMK__
372
#define _POSIX_THREADS				1
373
#define _POSIX_THREAD_PRIORITY_SCHEDULING	1
374
#endif
375
 
376
 
377
#ifdef __svr4__
378
# define _POSIX_JOB_CONTROL     1
379
# define _POSIX_SAVED_IDS       1
380
# define _POSIX_VERSION 199009L
381
#endif
382
 
383
#ifdef __CYGWIN__
384
 
385
#if !defined(__STRICT_ANSI__) || defined(__cplusplus) || __STDC_VERSION__ >= 199901L
6536 serge 386
#define _POSIX_VERSION				200809L
387
#define _POSIX2_VERSION				200809L
4349 Serge 388
#define _XOPEN_VERSION				   600
389
 
6536 serge 390
#define _POSIX_ADVISORY_INFO			200809L
4349 Serge 391
/* #define _POSIX_ASYNCHRONOUS_IO		    -1 */
6536 serge 392
#define _POSIX_BARRIERS				200809L
4349 Serge 393
#define _POSIX_CHOWN_RESTRICTED			     1
6536 serge 394
#define _POSIX_CLOCK_SELECTION			200809L
395
#define _POSIX_CPUTIME				200809L
396
#define _POSIX_FSYNC				200809L
397
#define _POSIX_IPV6				200809L
4349 Serge 398
#define _POSIX_JOB_CONTROL			     1
6536 serge 399
#define _POSIX_MAPPED_FILES			200809L
4349 Serge 400
/* #define _POSIX_MEMLOCK			    -1 */
6536 serge 401
#define _POSIX_MEMLOCK_RANGE			200809L
402
#define _POSIX_MEMORY_PROTECTION		200809L
403
#define _POSIX_MESSAGE_PASSING			200809L
404
#define _POSIX_MONOTONIC_CLOCK			200809L
4349 Serge 405
#define _POSIX_NO_TRUNC				     1
406
/* #define _POSIX_PRIORITIZED_IO		    -1 */
6536 serge 407
#define _POSIX_PRIORITY_SCHEDULING		200809L
408
#define _POSIX_RAW_SOCKETS			200809L
409
#define _POSIX_READER_WRITER_LOCKS		200809L
410
#define _POSIX_REALTIME_SIGNALS			200809L
4349 Serge 411
#define _POSIX_REGEXP				     1
412
#define _POSIX_SAVED_IDS			     1
6536 serge 413
#define _POSIX_SEMAPHORES			200809L
414
#define _POSIX_SHARED_MEMORY_OBJECTS		200809L
4349 Serge 415
#define _POSIX_SHELL				     1
6536 serge 416
#define _POSIX_SPAWN				200809L
417
#define _POSIX_SPIN_LOCKS			200809L
4349 Serge 418
/* #define _POSIX_SPORADIC_SERVER		    -1 */
6536 serge 419
#define _POSIX_SYNCHRONIZED_IO			200809L
420
#define _POSIX_THREAD_ATTR_STACKADDR		200809L
421
#define _POSIX_THREAD_ATTR_STACKSIZE		200809L
422
#define _POSIX_THREAD_CPUTIME			200809L
4349 Serge 423
/* #define _POSIX_THREAD_PRIO_INHERIT		    -1 */
424
/* #define _POSIX_THREAD_PRIO_PROTECT		    -1 */
6536 serge 425
#define _POSIX_THREAD_PRIORITY_SCHEDULING	200809L
426
#define _POSIX_THREAD_PROCESS_SHARED		200809L
427
#define _POSIX_THREAD_SAFE_FUNCTIONS		200809L
4349 Serge 428
/* #define _POSIX_THREAD_SPORADIC_SERVER	    -1 */
6536 serge 429
#define _POSIX_THREADS				200809L
4349 Serge 430
/* #define _POSIX_TIMEOUTS			    -1 */
431
#define _POSIX_TIMERS				     1
432
/* #define _POSIX_TRACE				    -1 */
433
/* #define _POSIX_TRACE_EVENT_FILTER		    -1 */
434
/* #define _POSIX_TRACE_INHERIT			    -1 */
435
/* #define _POSIX_TRACE_LOG			    -1 */
436
/* #define _POSIX_TYPED_MEMORY_OBJECTS		    -1 */
437
#define _POSIX_VDISABLE				   '\0'
6536 serge 438
#define _POSIX2_C_BIND				200809L
439
#define _POSIX2_C_DEV				200809L
440
#define _POSIX2_CHAR_TERM			200809L
4349 Serge 441
/* #define _POSIX2_FORT_DEV			    -1 */
442
/* #define _POSIX2_FORT_RUN			    -1 */
443
/* #define _POSIX2_LOCALEDEF			    -1 */
444
/* #define _POSIX2_PBS				    -1 */
445
/* #define _POSIX2_PBS_ACCOUNTING		    -1 */
446
/* #define _POSIX2_PBS_CHECKPOINT		    -1 */
447
/* #define _POSIX2_PBS_LOCATE			    -1 */
448
/* #define _POSIX2_PBS_MESSAGE			    -1 */
449
/* #define _POSIX2_PBS_TRACK			    -1 */
6536 serge 450
#define _POSIX2_SW_DEV				200809L
451
#define _POSIX2_UPE				200809L
4349 Serge 452
#define _POSIX_V6_ILP32_OFF32			    -1
4921 Serge 453
#ifdef __LP64__
454
#define _POSIX_V6_ILP32_OFFBIG			    -1
455
#define _POSIX_V6_LP64_OFF64			     1
456
#define _POSIX_V6_LPBIG_OFFBIG			     1
457
#else
458
#define _POSIX_V6_ILP32_OFFBIG			     1
459
#define _POSIX_V6_LP64_OFF64			    -1
460
#define _POSIX_V6_LPBIG_OFFBIG			    -1
461
#endif
4349 Serge 462
#define _XBS5_ILP32_OFF32			_POSIX_V6_ILP32_OFF32
463
#define _XBS5_ILP32_OFFBIG			_POSIX_V6_ILP32_OFFBIG
464
#define _XBS5_LP64_OFF64			_POSIX_V6_LP64_OFF64
465
#define _XBS5_LPBIG_OFFBIG			_POSIX_V6_LPBIG_OFFBIG
466
#define _XOPEN_CRYPT				     1
467
#define _XOPEN_ENH_I18N				     1
468
/* #define _XOPEN_LEGACY			    -1 */
469
/* #define _XOPEN_REALTIME			    -1 */
470
/* #define _XOPEN_REALTIME_THREADS		    -1 */
471
#define _XOPEN_SHM				     1
472
/* #define _XOPEN_STREAMS			    -1 */
473
/* #define _XOPEN_UNIX				    -1 */
474
 
475
#endif /* !__STRICT_ANSI__ || __cplusplus || __STDC_VERSION__ >= 199901L */
476
 
477
/* The value corresponds to UNICODE version 4.0, which is the version
478
   supported by XP.  Newlib supports 5.2 (2011) but so far Cygwin needs
479
   the MS conversions for double-byte charsets. */
480
#define __STDC_ISO_10646__ 200305L
481
 
482
#endif /* __CYGWIN__ */
483
 
484
#ifdef __cplusplus
485
}
486
#endif
487
#endif /* _SYS_FEATURES_H */