summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/20040310-1.c
blob: 104e98d08893e895fe890d3f4f5ffcd0a00a5457 (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
34
/* This caused cc1 to segfault on s390x-ibm-linux
   due to a bug in if_then_else_cond (combine.c).  */

/* { dg-do compile } */
/* { dg-options "-O1" } */

extern void use (unsigned int x);

int main (void)
{
  union 
    {
      unsigned int x;
      unsigned long pad;
    } A;

  struct 
    {
      unsigned int x : 1;
    } B;

  A.x = 1;
  B.x = 1;
  A.x /= B.x;
  use (A.x);

  A.x = 1;
  B.x = 1;
  B.x /= A.x;
  use (B.x);

  return 0;
}