annotate gcc/testsuite/gcc.dg/pr41837.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* PR middle-end/41837 */
kono
parents:
diff changeset
2 /* { dg-do compile } */
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
3 /* { dg-options "-O -fwhole-program -fprofile-generate" } */
111
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 typedef struct { int a, b; } T1;
kono
parents:
diff changeset
6 typedef struct S1 *T2;
kono
parents:
diff changeset
7 typedef struct S2 *T3;
kono
parents:
diff changeset
8 typedef struct S3 *T4;
kono
parents:
diff changeset
9 typedef struct S4 *T5;
kono
parents:
diff changeset
10 struct S4 { union { int c; } d; };
kono
parents:
diff changeset
11 struct S2 { int e; T2 f; int g; };
kono
parents:
diff changeset
12 typedef struct { T3 h; } T6;
kono
parents:
diff changeset
13 typedef struct { int i; } *T7;
kono
parents:
diff changeset
14 struct S3 { T6 j; T7 k; };
kono
parents:
diff changeset
15
kono
parents:
diff changeset
16 void f5 (T4);
kono
parents:
diff changeset
17 void f6 (void (*)(T4));
kono
parents:
diff changeset
18 void f7 (void (*)(T5, T1 *));
kono
parents:
diff changeset
19
kono
parents:
diff changeset
20 void
kono
parents:
diff changeset
21 f1 (T4 x)
kono
parents:
diff changeset
22 {
kono
parents:
diff changeset
23 if (!x->j.h->e)
kono
parents:
diff changeset
24 f5 (x);
kono
parents:
diff changeset
25 }
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27 void
kono
parents:
diff changeset
28 f2 (void)
kono
parents:
diff changeset
29 {
kono
parents:
diff changeset
30 f6 (f1);
kono
parents:
diff changeset
31 }
kono
parents:
diff changeset
32
kono
parents:
diff changeset
33 void
kono
parents:
diff changeset
34 f3 (T5 x, T1 *y)
kono
parents:
diff changeset
35 {
kono
parents:
diff changeset
36 }
kono
parents:
diff changeset
37
kono
parents:
diff changeset
38 void
kono
parents:
diff changeset
39 f4 (void)
kono
parents:
diff changeset
40 {
kono
parents:
diff changeset
41 f7 (f3);
kono
parents:
diff changeset
42 }