view gcc/testsuite/c-c++-common/Wmultistatement-macros-7.c @ 19:2b5abeee2509 default tip

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents 04ced10e8804
children
line wrap: on
line source

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