Define __STDC_IEC_559* based on __GCC_IEC_559*.
authorJoseph Myers <joseph@codesourcery.com>
Mon, 4 Nov 2013 15:43:57 +0000 (15:43 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 4 Nov 2013 15:43:57 +0000 (15:43 +0000)
ChangeLog
include/stdc-predef.h

index 4d43eb0..1fd2463 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2013-11-04  Joseph Myers  <joseph@codesourcery.com>
+
+       * include/stdc-predef.h [__GCC_IEC_559] (__STDC_IEC_559__): Define
+       depending on [__GCC_IEC_559 > 0].
+       [__GCC_IEC_559_COMPLEX] (__STDC_IEC_559_COMPLEX__): Define
+       depending on [__GCC_IEC_559_COMPLEX > 0].
+
 2013-11-03  Chris Leonard  <cjl@sugarlabs.org>
 
        * locale/iso-639.def: Add Quechua, Southern (quz) and Silesian (szl)
index b9c9967..f8cb2cb 100644 (file)
    explicitly includes a system header.  GCC knows the name of this
    header in order to preinclude it.  */
 
-/* We do support the IEC 559 math functionality, real and complex.  */
-#define __STDC_IEC_559__               1
-#define __STDC_IEC_559_COMPLEX__       1
+/* glibc's intent is to support the IEC 559 math functionality, real
+   and complex.  If the GCC (4.9 and later) predefined macros
+   specifying compiler intent are available, use them to determine
+   whether the overall intent is to support these features; otherwise,
+   presume an older compiler has intent to support these features and
+   define these macros by default.  */
+
+#ifdef __GCC_IEC_559
+# if __GCC_IEC_559 > 0
+#  define __STDC_IEC_559__             1
+# endif
+#else
+# define __STDC_IEC_559__              1
+#endif
+
+#ifdef __GCC_IEC_559_COMPLEX
+# if __GCC_IEC_559_COMPLEX > 0
+#  define __STDC_IEC_559_COMPLEX__     1
+# endif
+#else
+# define __STDC_IEC_559_COMPLEX__      1
+#endif
 
 /* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /
    Unicode 6.0.  */