aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr112509.c
blob: b733780bdc74cc827d90f8c01a36311126289961 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* { dg-do compile } */
/* { dg-options "-O2 -fno-tree-vrp -fno-tree-fre -fno-tree-forwprop" } */

struct S {
  unsigned j : 3;
};
int k, l, m_1 = {0};
void f(int l, struct S x) {
  unsigned int k_1;
  while (m_1 % 8) switch (x.j) {
    case 1:
    case 3:
    case 4:
    case 6:
    case 2:
    case 5: l = m_1;
    case 7:
    case 0: k_1 = 0;
    default: break;
    }
}
void foo(struct S x) { f(l, x); }