aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/builtins-config.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.dg/builtins-config.h')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.dg/builtins-config.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.dg/builtins-config.h b/gcc-4.9/gcc/testsuite/gcc.dg/builtins-config.h
new file mode 100644
index 000000000..8d5a10d3f
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.dg/builtins-config.h
@@ -0,0 +1,60 @@
+/* Copyright (C) 2003, 2004, 2005, 2006, 2009, 2011, 2012
+ 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(__INTERIX)
+/* Interix6 doesn't have the entire C99 runtime. */
+#elif defined(__AVR__)
+/* AVR doesn't have the entire C99 runtime. */
+#elif defined(__FreeBSD__) && (__FreeBSD__ < 9)
+/* FreeBSD up to version 8 lacks support for cexp and friends. */
+#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