aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/ipa/pr120295.c
blob: 4d5a2661a734ae6e4e230b4eef81b6e20a8f7f2a (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/* { dg-do run } */
/* { dg-options "-O3" } */

struct {
  signed a;
} b;
int a, f, j, l;
char c, k, g, e;
short d[2] = {0};
int *i = &j;

volatile int glob_;
void __attribute__((noipa)) sth (const char *, int a)
{
  glob_ = a;
  return;
}

void marker_37() {
  a++;
  sth ("%d\n", a);
}
unsigned long long m(unsigned, char, unsigned, short);
int n(int, unsigned char, long long);
int o(long long, unsigned, unsigned);
unsigned short p(void) {
  int *r = &l;
  *r |= ({
    long long y = (m(c, c, 0, c), b.a);
    y;
  });
  return 0;
}
unsigned long long m(unsigned q, char v, unsigned s, short u) {
  unsigned short ab = 5;
  if (n(q, ab, d[1]))
    for (; g; g++)
      ;
  return c;
}
int n(int af, unsigned char e, long long ae) {
  unsigned ag = 4;
  int *ah = &f;
  *ah = ({ short ad = o(af, f, ag); ad<0 || ad> e; });
  return *i;
}
int o(long long aj, unsigned ai, unsigned ak) {
  for (; e; e--) {
    int *al = &f;
    for (; k; k++)
      *al = 0;
  }
  if (18446744073709551606UL != (unsigned long long) aj)
    ;
  else
    marker_37();
  return ak;
}
int f123() {
  c = 0xf6;
  p();
  return 0;
}
int main() {
  return f123();
}