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__; ^