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