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

Reply via email to