aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr54676.c
blob: cb3a8a2d578509b3749c802884b5505a1437bc55 (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
/* PR tree-optimization/54676 */
/* { dg-do compile } */
/* { dg-options "-O -fno-tree-ccp -fno-tree-copy-prop -fno-tree-fre -ftree-vrp" } */

struct S
{
  int s:1;
};

struct S bar (void);

#if __SIZEOF_INT__ < 4
#define int __INT32_TYPE__
#endif

int a;

void
foo (int x)
{
  struct S s = bar ();
  while (!a)
    {
      int l = 94967295;
      a = x || (s.s &= l);
    }
}