| /* PR c/81364 */ |
| /* { dg-do compile } */ |
| /* { dg-options "-Wmultistatement-macros" } */ |
| |
| #define FOO0 if (1) { } else |
| #define TST0 \ |
| void bar0 (void) \ |
| { \ |
| FOO0 { } /* { dg-bogus "macro expands to multiple statements" } */ \ |
| } |
| TST0 |
| |
| #define FOO1 for (;;) |
| #define TST1 \ |
| void bar1 (void) \ |
| { \ |
| FOO1 { } /* { dg-bogus "macro expands to multiple statements" } */ \ |
| } |
| TST1 |
| |
| #define FOO2 while (1) |
| #define TST2 \ |
| void bar2 (void) \ |
| { \ |
| FOO2 { } /* { dg-bogus "macro expands to multiple statements" } */ \ |
| } |
| TST2 |
| |
| #define FOO3 switch (1) |
| #define TST3 \ |
| void bar3 (void) \ |
| { \ |
| FOO3 { } /* { dg-bogus "macro expands to multiple statements" } */ \ |
| } |
| TST3 |
| |
| #define FOO4 if (1) |
| #define TST4 \ |
| void bar4 (void) \ |
| { \ |
| FOO4 { } /* { dg-bogus "macro expands to multiple statements" } */ \ |
| } |
| TST4 |