1 /*
2   { dg-options "-Wuninitialized -ftrack-macro-expansion=2" }
3   { dg-do compile }
4 */
5 
6 void f (unsigned);
7 
8 #define CODE_WITH_WARNING \
9   int a; /* { dg-message "was declared here" } */	 \
10   f (a)	 /* { dg-warning "used uninitialized" } */
11 
12 #pragma GCC diagnostic ignored "-Wuninitialized"
13 
14 void
g(void)15 g (void)
16 {
17   CODE_WITH_WARNING;
18 }
19 
20 #pragma GCC diagnostic push
21 
22 #pragma GCC diagnostic error "-Wuninitialized"
23 
24 void
h(void)25 h (void)
26 {
27   CODE_WITH_WARNING; /* { dg-message "in expansion of macro 'CODE_WITH_WARNING'" } */
28 }
29