[Bug c++/70888] New: #pragma diagnostic ignored -Wlong-long ineffective with __LONG_LONG_MAX__ in c++98 mode

msebor at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun May 1 00:10:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70888

            Bug ID: 70888
           Summary: #pragma diagnostic ignored -Wlong-long ineffective
                    with __LONG_LONG_MAX__ in c++98 mode
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: msebor at gcc dot gnu.org
  Target Milestone: ---

In C++ 98 mode, #pragma GCC diagnostic ignored "-Wlong-long" has no effect. 
The pragma works as expected in C89 mode.

$ cat u.cpp && /home/msebor/build/gcc-66561/gcc/xgcc
-B/home/msebor/build/gcc-66561/gcc -S -Wall -Wextra -Wpedantic -std=c++98 -xc++
u.cpp
void f ()
{
#pragma GCC diagnostic ignored "-Wlong-long"

    long long x = __LONG_LONG_MAX__;
}

u.cpp:5:19: warning: use of C++11 long long integer constant [-Wlong-long]
     long long x = __LONG_LONG_MAX__;
                   ^
u.cpp: In function ‘void f()’:
u.cpp:5:15: warning: unused variable ‘x’ [-Wunused-variable]
     long long x = __LONG_LONG_MAX__;
               ^


More information about the Gcc-bugs mailing list