/* 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." } */ | |
} |