OSDN Git Service

2010-01-21 Martin Jambor <mjambor@suse.cz>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / tree-ssa / sra-6.c
1 /* { dg-do compile } */
2 /* { dg-options "-O1 -fdump-tree-optimized -fdump-tree-esra-details" } */
3
4 typedef struct teststruct
5 {
6   double d;
7   int i1;
8   char c1;
9   float z;
10   char c2;
11   int i2;
12 } teststruct;
13
14
15 void cow (int i)
16 {
17   teststruct a, b, c, d;
18
19   a.d = 3.2;
20   a.i1 = i;
21
22   b = a;
23   c = b;
24   d = c;
25
26   if (d.i1 != i)
27     link_error ();
28 }
29
30
31 /* Suaccesses of b and c should have been created.  */
32 /* { dg-final { scan-tree-dump "expr = b.d"  "esra"} } */
33 /* { dg-final { scan-tree-dump "expr = b.i1"  "esra"} } */
34 /* { dg-final { scan-tree-dump "expr = c.d"  "esra"} } */
35 /* { dg-final { scan-tree-dump "expr = c.i1"  "esra"} } */
36 /* { dg-final { cleanup-tree-dump "esra" } } */
37
38 /* There should be no reference to link_error.  */
39 /* { dg-final { scan-tree-dump-times "link_error" 0 "optimized"} } */
40 /* { dg-final { cleanup-tree-dump "optimized" } } */