other/7263: __extension__ keyword doesn't suppress warning on LL or ULL constants

andrew@andypo.net andrew@andypo.net
Wed Jul 10 08:32:00 GMT 2002

>Number:         7263
>Category:       other
>Synopsis:       __extension__ keyword doesn't suppress warning on LL or ULL constants
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    unassigned
>State:          open
>Class:          rejects-legal
>Submitter-Id:   net
>Arrival-Date:   Wed Jul 10 08:26:00 PDT 2002
>Originator:     Andrew Pollard
>Release:        gcc-3.2-20020710
System: Linux garfield.andypo.net 2.4.18-5smp #1 SMP Mon Jun 10 15:19:40 EDT 2002 i686 unknown
Architecture: i686
Binutils 20020627
Redhat 7.3 dual processor P3 system
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: /usr/local/src/cvs/gcc/configure --prefix=/usr/local/gcc-3.2-20020710-i686-pc-linux-gnu --with-gnu-as --with-gnu-ld --enable-version-specific-runtime-libs --enable-threads=posix --with-dwarf2 --disable-shared --enable-languages=c++
The following code fragment generates a warning in gcc-3.2-20020710, where previous versions (gcc-3.1, gcc-3.0) didn't.

__extension__ unsigned long long
    return (__extension__ 0x1b27da572ef3cd86ULL);

% gcc -W -Wall -Werror -ansi -pedantic -c a.c
a.c:4:27: use of C99 long long integer constant

Even though the constant is wrapped using __extension__

__extension__ still removes the warning on the use of
the unsigned long long type.

-Wno-long-long is a workaround for me at the moment.



More information about the Gcc-bugs mailing list