// PR c++/14089 // { dg-do compile } // // C++ front end generated assignment between types that were not // compatible in any sense visible to the optimizers. struct pair { typedef void (pair::*fp)(); int first; pair::fp second; pair(const int& a, const pair::fp& b) : first(a), second(b) {} void f(const int& a, const pair::fp& b) { first = a; second = b; } }; void op() { pair(5, pair::fp()); }