1 /* PR c/80116 */
2 /* { dg-options "-Wmultistatement-macros" } */
3 /* { dg-do compile } */
4 
5 #define SWAP(X, Y)      \
6   tmp = X; /* { dg-warning "macro expands to multiple statements" } */ \
7   X = Y;                \
8   Y = tmp
9 
10 #define BODY_AND_IF(COND, X, Y)  \
11   if (COND) SWAP (X, Y) /* { dg-message "in expansion of macro .SWAP." } */
12 
13 void
fn(int x,int y)14 fn (int x, int y)
15 {
16   int tmp;
17   BODY_AND_IF (1, x, y); /* { dg-message "in expansion of macro .BODY_AND_IF." } */
18 }
19