template <unsigned D> class TPL; template <typename T> struct X { int lower (); template <template <typename> class V> V<TPL<V<int>::d> > operator () (); }; void Foo (X<int> &x) { x.lower (); } nathan@garibaldi:186>./cc1plus -quiet current/j.ii current/j.ii: In instantiation of `X<int>': current/j.ii:12: instantiated from here current/j.ii:8: internal compiler error: in lookup_member, at cp/search.c:1237 used to work in 3.2 and 3.3
Here is a related bug, extern inlines are not processed correctly extern inline void Foo () {} static void Baz () { Foo (); } We emit the body of Foo when using cc1plus, but not when using cc1
sorry, that previous comment was for PR 12291
2003-09-19 Nathan Sidwell <nathan@codesourcery.com> PR c++/12232 * pt.c (instantiate_class_template): Increment processing_template_decl around the tsubst of a template member function.
fixed
Reopening since the patch to pt.c was not applied.
*** Bug 6730 has been marked as a duplicate of this bug. ***
*** Bug 10223 has been marked as a duplicate of this bug. ***
Fixed commited this time.