From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12135 invoked by alias); 3 Dec 2012 18:41:36 -0000 Received: (qmail 11729 invoked by uid 48); 3 Dec 2012 18:41:20 -0000 From: "ruboam at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/55578] New: Disabling warnings inside macro definition doesn't work Date: Mon, 03 Dec 2012 18:41:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ruboam at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2012-12/txt/msg00279.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55578 Bug #: 55578 Summary: Disabling warnings inside macro definition doesn't work Classification: Unclassified Product: gcc Version: 4.6.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned@gcc.gnu.org ReportedBy: ruboam@gmail.com When compiling following code with just -Wall option I'm getting below mentioned warning. #define FF() \ _Pragma("GCC diagnostic push") \ _Pragma("GCC diagnostic ignored \"-Wunused-variable\"") \ {int x;} \ _Pragma("GCC diagnostic pop") int main() { FF(); return 0; } In function 'int main()': warning: unused variable 'x' [-Wunused-variable] But when I also specify -no-integrated-cpp or -save-temps options the warning doesn't show up. It looks like when preprocessor and compiler work in one shop the warning doesn't get disabled. BTW this happens for any warning not just with unused-variable one. GCC version is: 4.6.2 Command line is: gcc -Wall System is: Linux 2.6.18-238.el5 #1 SMP Sun Dec 19 14:22:44 EST 2010 x86_64 x86_64 x86_64 GNU/Linux