comparison gcc/testsuite/gcc.dg/tree-ssa/20041008-1.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 /* { dg-do run } */
2 /* { dg-options "-O2 -std=gnu89" } */
3
4 struct A {
5 int x;
6 int y;
7 };
8
9 baz (struct A *a)
10 {
11 a->x = 3;
12 a->y = 2;
13 }
14
15 foo (int i)
16 {
17 struct A a;
18
19 /* Make sure we can't scalarize 'a'. */
20 baz (&a);
21
22 if (i > 10)
23 a.x = i;
24 else
25 a.x = i;
26
27 /* Copy propagation should prove that this predicate is always false. */
28 if (a.x != i)
29 link_error ();
30
31 return a.x;
32 }
33
34 main ()
35 {
36 foo (30);
37 return 0;
38 }