PR tree-optimization/86401
[official-gcc.git] / gcc / testsuite / c-c++-common / Wmultistatement-macros-12.c
blobac8915c24b0fa70e5f7975add0d9e4bef15bc8e5
1 /* PR c/81364 */
2 /* { dg-do compile } */
3 /* { dg-options "-Wmultistatement-macros" } */
5 #define FOO0 if (1) { } else
6 #define TST0 \
7 void bar0 (void) \
8 { \
9 FOO0 { } /* { dg-bogus "macro expands to multiple statements" } */ \
11 TST0
13 #define FOO1 for (;;)
14 #define TST1 \
15 void bar1 (void) \
16 { \
17 FOO1 { } /* { dg-bogus "macro expands to multiple statements" } */ \
19 TST1
21 #define FOO2 while (1)
22 #define TST2 \
23 void bar2 (void) \
24 { \
25 FOO2 { } /* { dg-bogus "macro expands to multiple statements" } */ \
27 TST2
29 #define FOO3 switch (1)
30 #define TST3 \
31 void bar3 (void) \
32 { \
33 FOO3 { } /* { dg-bogus "macro expands to multiple statements" } */ \
35 TST3
37 #define FOO4 if (1)
38 #define TST4 \
39 void bar4 (void) \
40 { \
41 FOO4 { } /* { dg-bogus "macro expands to multiple statements" } */ \
43 TST4