1 // PR c++/14089 2 // { dg-do compile } 3 // 4 // C++ front end generated assignment between types that were not 5 // compatible in any sense visible to the optimizers. 6 7 struct pair { 8 typedef void (pair::*fp)(); 9 int first; 10 pair::fp second; pairpair11 pair(const int& a, const pair::fp& b) : first(a), second(b) {} fpair12 void f(const int& a, const pair::fp& b) { first = a; second = b; } 13 }; 14 op()15void op() { 16 pair(5, pair::fp()); 17 } 18