builtins-config.h

来自「用于进行gcc测试」· C头文件 代码 · 共 60 行

H
60
字号
/* Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation.   Define macros useful in tests for bulitin functions.  *//* Define HAVE_C99_RUNTIME if the entire C99 runtime is available on   the target system.  The value of HAVE_C99_RUNTIME should be the   same as the value of TARGET_C99_FUNCTIONS in the GCC machine   description.  (Perhaps GCC should predefine a special macro   indicating whether or not TARGET_C99_FUNCTIONS is set, but it does   not presently do that.)  */#if defined(__hppa) && defined(__hpux)/* PA HP-UX doesn't have the entire C99 runtime.  */#elif defined(__sgi)/* Irix6 doesn't have the entire C99 runtime.  */#elif defined(__FreeBSD__) && (__FreeBSD__ < 5)/* FreeBSD before version 5 doesn't have the entire C99 runtime. */#elif defined(__netware__)/* NetWare doesn't have the entire C99 runtime.  */#elif defined(__vxworks)/* VxWorks doesn't have a full C99 time.  (cabs is missing, for example.)  */#elif defined(_WIN32) && !defined(__CYGWIN__)/* Windows doesn't have the entire C99 runtime.  */#elif (defined(__APPLE__) && defined(__ppc__) \       && ! defined (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__))/* MacOS versions before 10.3 don't have many C99 functions.     But, if you're including this file, you probably want to test the   newer behaviour, so: */#error forgot to set -mmacosx-version-min.#elif (defined(__APPLE__) && defined(__ppc__) \       && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1030)/* MacOS versions before 10.3 don't have many C99 functions.  */#else/* Newlib has the "f" variants of the math functions, but not the "l"   variants.  TARGET_C99_FUNCTIONS is only defined if all C99   functions are present.  Therefore, on systems using newlib, tests   of builtins will fail the "l" variants, and we should therefore not   define HAVE_C99_RUNTIME.  Including <sys/types.h> gives us a way of   seeing if _NEWLIB_VERSION is defined.  Including <math.h> would work   too, but the GLIBC math inlines cause us to generate inferior code,   which causes the test to fail, so it is not safe.  Including <limits.h>   also fails because the include search paths are ordered such that GCC's   version will be found before the newlib version.  Similarly, uClibc   lacks the C99 functions.  */#include <sys/types.h>#if defined(_NEWLIB_VERSION) || defined(__UCLIBC__)#elif defined(__sun) && __STDC_VERSION__ - 0 < 199901L/* If you're including this file, you probably want to test the newer   behaviour, so ensure the right flags were used for each test: */#error forgot to set -std=c99.#elif defined(__sun) && ! defined (_STDC_C99)/* Solaris up to 9 doesn't have the entire C99 runtime.   Solaris 10 defines _STDC_C99 if __STDC_VERSION__ is >= 199901L.   This macro is defined in <sys/feature_tests.h> which is included by   various system headers, in this case <sys/types.h> above.  */#else#define HAVE_C99_RUNTIME#endif#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?