aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr101062.c
blob: 6c37ed888856e6ba1209ddd98f92b0ca5bfa784f (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
/* PR middle-end/101062 */
/* { dg-do run } */
/* { dg-options "-O2 -fno-toplevel-reorder -frename-registers" } */

union U { signed b : 5; };
int c;
volatile union U d[7] = { { 8 } };
short e = 1;

__attribute__((noipa)) void
foo ()
{
  d[6].b = 0;
  d[6].b = 0;
  d[6].b = 0;
  d[6].b = 0;
  d[6].b = 0;
  e = 0;
  c = 0;
}

int
main ()
{
  foo ();
  if (e != 0)
    __builtin_abort ();
  return 0;
}