OSDN Git Service

PR tree-optimization/54986
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / torture / 20121105-1.C
1 // PR tree-optimization/54986
2 // Reported by Remi Vanicat <vanicat@debian.org>
3 // Reduced testcase by Markus Trippelsdorf <markus@trippelsdorf.de> 
4
5 struct A;
6 struct B
7 {
8   int *_ptr;
9   bool operator==(B *p1)
10   {
11     return p1->_ptr;
12   }
13 };
14 struct C {
15   A* ref_SYMBptr();
16 };
17 struct A
18 {
19   B sommet;
20 };
21 typedef C *gen_op_context;
22 struct D
23 {
24   D(gen_op_context) {}
25 };
26
27 D c(0);
28 const long d = (long)&c;
29 B *const   e = (B *)&d;
30
31 static bool
32 fn1(C& p1)
33 {
34   return p1.ref_SYMBptr()->sommet == e;
35 }
36
37 void
38 fn2()
39 {
40   C b;
41   fn1(b);
42 }