2009-07-17 Richard Guenther <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / ipa-pta-1.c
blob10963973c3b3538dbad541656ca6e41c3dfa6973
1 /* { dg-do compile { target { nonpic } } } */
2 /* { dg-options "-fipa-pta -fdump-ipa-pta" } */
3 /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
5 struct X { char x; char y; };
7 void bar (char *p);
9 void test1 (char a, char b, char c, char d, char e, char f, char g, char h)
11 char *p = &a;
12 p++;
13 bar (p);
16 void test2 (struct X a, char b, char c, char d, char e, char f, char g, char h)
18 char *p = &a.x;
19 p++;
20 bar (p);
23 void test3 (struct X a, char b, char c, char d, char e, char f, char g, char h)
25 char *p = &a.y;
26 bar (p);
29 void test4 (int a, char b, char c, char d, char e, char f, char g, char h)
31 char *p = (char *)&a;
32 p++;
33 p++;
34 p++;
35 p++;
36 bar (p);
39 /* { dg-final { scan-ipa-dump "bar.arg0 = { test4.arg0 test3.arg0 test2.arg0 test1.arg0 }" "pta" } } */
40 /* { dg-final { cleanup-ipa-dump "pta" } } */