| /* PR c/80116 */ | |
| /* { dg-options "-Wmultistatement-macros" } */ | |
| /* { dg-do compile } */ | |
| #define SWAP(X, Y) \ | |
| tmp = X; /* { dg-warning "macro expands to multiple statements" } */ \ | |
| X = Y; \ | |
| Y = tmp | |
| #define BODY_AND_IF(COND, X, Y) \ | |
| if (COND) SWAP (X, Y) /* { dg-message "in expansion of macro .SWAP." } */ | |
| void | |
| fn (int x, int y) | |
| { | |
| int tmp; | |
| BODY_AND_IF (1, x, y); /* { dg-message "in expansion of macro .BODY_AND_IF." } */ | |
| } |