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: unassig...@gcc.gnu.org

        ReportedBy: rub...@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 <file-name> -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

Reply via email to