https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68653
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-valid-code Status|UNCONFIRMED |NEW Last reconfirmed| |2015-12-02 Ever confirmed|0 |1 --- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- markus@x4 tmp % cat declarationbuilder.ii struct B; struct A { template <typename Node> void declareParameters(Node *, int Node::*); bool visit(B *); }; template <typename Node> void A::declareParameters(Node *, int Node::*p2) { p2 ? nullptr : new int; } bool A::visit(B *p1) { declareParameters(p1, (int B::*)nullptr); return true; } markus@x4 tmp % g++ -c -Wall declarationbuilder.ii declarationbuilder.ii: In instantiation of ‘void A::declareParameters(Node*, int Node::*) [with Node = B]’: declarationbuilder.ii:10:42: required from here declarationbuilder.ii:7:6: internal compiler error: in nonnull_arg_p, at tree.c:13853