2018-05-15 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / ipa / pr55260.c
blobef151b0a208bba57e90ffb3530607e5687f89bb0
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fno-inline -fipa-cp-clone" } */
4 typedef struct {
5 int *ptr;
6 int len;
7 } string;
8 typedef struct {
9 string nantstr;
10 int *nant;
11 } malv;
12 typedef struct {
13 int *nor;
14 } list_heads;
15 int b;
16 list_heads *fn1(string, int *, unsigned);
17 void fn2(malv *p1, list_heads *p2, unsigned p3) {
18 string a = p1->nantstr;
19 fn1(a, p1->nant, p3);
22 void fn3(unsigned p1) { fn2(0, 0, p1); }
24 list_heads *fn1(string p1, int *p2, unsigned p3) {
25 while (1) {
26 if (p3)
27 fn3(1);
28 if (b)
29 return 0;
30 fn3(1);
34 void fn5() {
35 list_heads c;
36 c.nor = 0;
37 fn2(0, &c, 1);