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
>Closed-Date:
>Last-Modified:
>Originator:     Andrew Pollard
>Release:        gcc-3.2-20020710
>Organization:
>Environment:
System: Linux garfield.andypo.net 2.4.18-5smp #1 SMP Mon Jun 10 15:19:40 EDT 2002 i686 unknown
Architecture: i686
Binutils 2.12.90.0.14 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++
>Description:
The following code fragment generates a warning in gcc-3.2-20020710, where previous versions (gcc-3.1, gcc-3.0) didn't.

a.c:
--------------------------------------------------------
__extension__ unsigned long long
foo()
{
    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.
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-bugs mailing list