summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/Wenum-compare-1.c
blob: dd321e0f643e126a1715aa25904abe5fbb4963be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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 ();
}