This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug preprocessor/22428] __extension__ won't silence pedwarns about hex float constants


------- Additional Comments From joseph at codesourcery dot com  2005-07-12 12:04 -------
Subject: Re:  New: __extension__ won't silence pedwarns
 about hex float constants

On Tue, 12 Jul 2005, bje at gcc dot gnu dot org wrote:

> The __extension__ keyword does not silence pedwarns about hexadecimal floating
> point constants.  This is used by GNU libc, for example in the definition of
> INFINITY:
> 
> #  define HUGE_VALF (__extension__ 0x1.0p255f)
> #  define HUGE_VALL (__extension__ 0x1.0p32767L)
> 
> These macros produce warnings that cannot be silenced.  This appears not to work
> because the pedwarn is generated by the preprocessor.

My preference for this (bug 7263 / 11931) would be disabling it for the 
expansion of macros defined in system headers rather than making the 
preprocessor aware of __extension__.

current-ish glibc uses #if __GNUC_PREREQ(3,3)
# define HUGE_VAL       (__builtin_huge_val())

and similar which avoid this problem (but not the corresponding one for 
_Complex_I).



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22428


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]