annotate gcc/testsuite/gcc.dg/pragma-diag-4.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 /* { dg-do compile } */
kono
parents:
diff changeset
2 /* { dg-options "-Wsign-compare -Werror=sign-compare -Werror=switch-enum" } */
kono
parents:
diff changeset
3 /* { dg-message "warnings being treated as errors" "" {target "*-*-*"} 0 } */
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 int bar()
kono
parents:
diff changeset
6 {
kono
parents:
diff changeset
7 unsigned x = 0;
kono
parents:
diff changeset
8 int y = 1;
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 /* generates an error - ok */
kono
parents:
diff changeset
11 x += x < y ? 1 : 0; /* { dg-error "comparison" } */
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 #pragma GCC diagnostic push
kono
parents:
diff changeset
14 #pragma GCC diagnostic ignored "-Wsign-compare"
kono
parents:
diff changeset
15 /* generates no diagnostic - ok */
kono
parents:
diff changeset
16 x += x < y ? 1 : 0;
kono
parents:
diff changeset
17 #pragma GCC diagnostic pop
kono
parents:
diff changeset
18
kono
parents:
diff changeset
19 x += x < y ? 1 : 0; /* { dg-error "comparison" } */
kono
parents:
diff changeset
20
kono
parents:
diff changeset
21 return x;
kono
parents:
diff changeset
22 }
kono
parents:
diff changeset
23
kono
parents:
diff changeset
24 enum EE { ONE, TWO };
kono
parents:
diff changeset
25
kono
parents:
diff changeset
26 int f (enum EE e)
kono
parents:
diff changeset
27 {
kono
parents:
diff changeset
28 int r = 0;
kono
parents:
diff changeset
29
kono
parents:
diff changeset
30 #pragma GCC diagnostic push
kono
parents:
diff changeset
31 #pragma GCC diagnostic ignored "-Wswitch-enum"
kono
parents:
diff changeset
32
kono
parents:
diff changeset
33 switch (e)
kono
parents:
diff changeset
34 {
kono
parents:
diff changeset
35 case ONE:
kono
parents:
diff changeset
36 r = 1;
kono
parents:
diff changeset
37 break;
kono
parents:
diff changeset
38 }
kono
parents:
diff changeset
39 #pragma GCC diagnostic pop
kono
parents:
diff changeset
40
kono
parents:
diff changeset
41 switch (e) /* { dg-error "switch" } */
kono
parents:
diff changeset
42 {
kono
parents:
diff changeset
43 case ONE:
kono
parents:
diff changeset
44 r = 1;
kono
parents:
diff changeset
45 break;
kono
parents:
diff changeset
46 }
kono
parents:
diff changeset
47 return r;
kono
parents:
diff changeset
48 }