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. -- Summary: __extension__ won't silence pedwarns about hex float constants Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: preprocessor AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: bje at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22428