49 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef _FEATURES_H
 | 
						|
#define _FEATURES_H
 | 
						|
 | 
						|
#ifdef _ALL_SOURCE
 | 
						|
#define _GNU_SOURCE 1
 | 
						|
#endif
 | 
						|
 | 
						|
#if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) \
 | 
						|
 && !defined(_XOPEN_SOURCE) && !defined(_GNU_SOURCE) \
 | 
						|
 && !defined(_BSD_SOURCE) && !defined(__STRICT_ANSI__)
 | 
						|
#define _BSD_SOURCE 1
 | 
						|
#define _XOPEN_SOURCE 700
 | 
						|
#endif
 | 
						|
 | 
						|
#if __STDC_VERSION__ >= 199901L
 | 
						|
#define __restrict restrict
 | 
						|
#elif !defined(__GNUC__)
 | 
						|
#define __restrict
 | 
						|
#endif
 | 
						|
 | 
						|
#if __STDC_VERSION__ >= 199901L || defined(__cplusplus)
 | 
						|
#define __inline inline
 | 
						|
#endif
 | 
						|
 | 
						|
#if __STDC_VERSION__ >= 201112L
 | 
						|
#elif defined(__GNUC__)
 | 
						|
#define _Noreturn __attribute__((__noreturn__))
 | 
						|
#else
 | 
						|
#define _Noreturn
 | 
						|
#endif
 | 
						|
 | 
						|
/* Convenience macros to test the versions of glibc and gcc.
 | 
						|
   Use them like this:
 | 
						|
   #if __GNUC_PREREQ (2,8)
 | 
						|
   ... code requiring gcc 2.8 or later ...
 | 
						|
   #endif
 | 
						|
   Note - they won't work for gcc1 or glibc1, since the _MINOR macros
 | 
						|
   were not defined then.  */
 | 
						|
#if defined __GNUC__ && defined __GNUC_MINOR__
 | 
						|
# define __GNUC_PREREQ(maj, min) \
 | 
						|
	((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
 | 
						|
#else
 | 
						|
# define __GNUC_PREREQ(maj, min) 0
 | 
						|
#endif
 | 
						|
 | 
						|
#include <sys/glibc-types.h>
 | 
						|
 | 
						|
#endif
 |