Hello,

some people like having a macro to test if a type is available (__SIZEOF_INT128__ for instance). This adds macros for __float80 and __float128. The types seem to be always available, so I didn't add any condition.

If you think this is a bad idea, please close the PR.

Bootstrap+testsuite on x86_64-linux-gnu.

2014-04-13  Marc Glisse  <marc.gli...@inria.fr>

        PR preprocessor/56540
        * config/i386/i386-c.c (ix86_target_macros): Define
        __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.

--
Marc Glisse
Index: gcc/config/i386/i386-c.c
===================================================================
--- gcc/config/i386/i386-c.c    (revision 209345)
+++ gcc/config/i386/i386-c.c    (working copy)
@@ -511,20 +511,27 @@ ix86_target_macros (void)
 
   if (!TARGET_80387)
     cpp_define (parse_in, "_SOFT_FLOAT");
 
   if (TARGET_LONG_DOUBLE_64)
     cpp_define (parse_in, "__LONG_DOUBLE_64__");
 
   if (TARGET_LONG_DOUBLE_128)
     cpp_define (parse_in, "__LONG_DOUBLE_128__");
 
+  if (TARGET_64BIT)
+    cpp_define (parse_in, "__SIZEOF_FLOAT80__=16");
+  else
+    cpp_define (parse_in, "__SIZEOF_FLOAT80__=12");
+
+  cpp_define (parse_in, "__SIZEOF_FLOAT128__=16");
+
   cpp_define_formatted (parse_in, "__ATOMIC_HLE_ACQUIRE=%d", IX86_HLE_ACQUIRE);
   cpp_define_formatted (parse_in, "__ATOMIC_HLE_RELEASE=%d", IX86_HLE_RELEASE);
 
   ix86_target_macros_internal (ix86_isa_flags,
                               ix86_arch,
                               ix86_tune,
                               ix86_fpmath,
                               cpp_define);
 }
 

Reply via email to