summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/switch-warn-2.c
blob: 76fd982b5757641ec0623c8901a33aaed7721294 (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
/* This should not warn about the case label being out of range.  */
/* { dg-do run } */
/* { dg-options "-O0" } */

extern void abort (void);
extern void exit (int);

int
foo (unsigned int i)
{
  switch (i)
  {
    case 123456123456ULL: /* { dg-warning "conversion from .long long unsigned int. to .unsigned int. changes value" } */
      return 0;
    default:
      return 3;
  }
}

int
main (void)
{
  if (foo (10) != 3)
    abort ();
  exit (0);
}