Message ID | alpine.DEB.2.02.1404240728570.21974@stedding.saclay.inria.fr |
---|---|
State | New |
Headers | show |
On Thu, Apr 24, 2014 at 7:35 AM, Marc Glisse <marc.glisse@inria.fr> wrote: >>> (Adding an i386 maintainer in Cc) >>> http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00620.html >>> >>> >>> On Sun, 13 Apr 2014, Marc Glisse wrote: >>> >>>> 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.glisse@inria.fr> >>>> >>>> PR preprocessor/56540 >>>> * config/i386/i386-c.c (ix86_target_macros): Define >>>> __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__. >>> >>> >> >> For __SIZEOF_FLOAT80__, you should check TARGET_128BIT_LONG_DOUBLE >> instead of TARGET_64BIT. > > > Good point, thanks! It now matches i386-modes.def. Is this version (same > changelog) ok? A couple of extra defines won't hurt, and maybe they will be useful to someone. So, if there are no objections in the next 24h, the patch is OK for mainline. Thanks, Uros.
Index: gcc/config/i386/i386-c.c =================================================================== --- gcc/config/i386/i386-c.c (revision 209721) +++ 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_128BIT_LONG_DOUBLE) + 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); }