annotate gcc/testsuite/c-c++-common/Wmultistatement-macros-5.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* PR c/80116 */
kono
parents:
diff changeset
2 /* { dg-options "-Wmultistatement-macros" } */
kono
parents:
diff changeset
3 /* { dg-do compile } */
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 #define M(N) \
kono
parents:
diff changeset
6 L ## N: \
kono
parents:
diff changeset
7 x++; x++ /* { dg-warning "macro expands to multiple statements" } */
kono
parents:
diff changeset
8
kono
parents:
diff changeset
9 int x, y, tmp;
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 void
kono
parents:
diff changeset
12 fn1 (void)
kono
parents:
diff changeset
13 {
kono
parents:
diff changeset
14 if (x) /* { dg-message "not guarded by this 'if' clause" } */
kono
parents:
diff changeset
15 M (0); /* { dg-message "in expansion of macro .M." } */
kono
parents:
diff changeset
16 if (x) /* { dg-message "not guarded by this 'if' clause" } */
kono
parents:
diff changeset
17 M (1); /* { dg-message "in expansion of macro .M." } */
kono
parents:
diff changeset
18 }