/* { dg-options "-Wuninitialized -ftrack-macro-expansion=0" } { dg-do compile } */ void f (unsigned); #define CODE_WITH_WARNING \ int a; \ f (a) #pragma GCC diagnostic ignored "-Wuninitialized" void g (void) { CODE_WITH_WARNING; } #pragma GCC diagnostic push #pragma GCC diagnostic error "-Wuninitialized" void h (void) { CODE_WITH_WARNING; /* { dg-error "uninitialized" } */ } /* { dg-message "some warnings being treated as errors" "" {target *-*-*} 0 } */