diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/Wenum-compare-1.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/Wenum-compare-1.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/Wenum-compare-1.c b/gcc/testsuite/gcc.dg/Wenum-compare-1.c new file mode 100644 index 00000000000..dd321e0f643 --- /dev/null +++ b/gcc/testsuite/gcc.dg/Wenum-compare-1.c @@ -0,0 +1,33 @@ +/* { dg-do compile } */ +/* { dg-options "-Wenum-compare" } */ +enum E1 { A, B, C }; +enum E2 { D, E, F }; +extern void f2 (); +void +f1 () +{ + int a = A; + int d = D; + enum E1 e1 = A; + enum E2 e2 = D; + if (A > D) /* { dg-warning "comparison between .enum E1. and .enum E2." } */ + f2 (); + if (e1 > e2) /* { dg-warning "comparison between .enum E1. and .enum E2." } */ + f2 (); + if (e1 > e2 + 1) + f2 (); + if (A > 0) + f2 (); + if (e1 > 0) + f2 (); + if (A + D > 0) + f2 (); + if (e1 > 0) + f2 (); + if (A + D > 0) + f2 (); + if ((int) A > D) + f2 (); + if ((int) e1 > e2) + f2 (); +} |