[ http://issues.apache.org/jira/browse/STDCXX-301?page=comments#action_12455052 ] Martin Sebor commented on STDCXX-301: -------------------------------------
Created PMR 02312 for the smaller test case from http://issues.apache.org/jira/browse/STDCXX-301#action_12450534. > [XLC++ 8.0] bogus error 1540-0062 explicitly instantiating class template > before definition > ------------------------------------------------------------------------------------------- > > Key: STDCXX-301 > URL: http://issues.apache.org/jira/browse/STDCXX-301 > Project: C++ Standard Library > Issue Type: Bug > Components: External > Environment: IBM XLC++ 8.0 > Reporter: Martin Sebor > > PMR 02310,K78,000 > The well-formed program below fails to compile with XLC++ 8.0 on AIX (I > haven't checked Linux). It compiles successfully with XLC++ 7.0. > $ cat t.cpp && xlC -qversion && xlC -c t.cpp > template <class> > struct A { > static int foo (); > static int bar (int); > }; > template <class, class> class B; > template <class T, class U> > struct C { > int operator*() { return U::bar (b->baz ()); } > B<T, U> *b; > }; > template <class, class U> > struct D { > void barf (U); > }; > template struct D<int, C<int, A<int> > >; > template <class, class U> > struct B { > int baz (); > virtual int foobar (int i = U::foo ()) { return i; } > }; > template <class T, class U> > void D<T, U>::barf (U u) > { > *u; > } > IBM XL C/C++ Enterprise Edition V8.0 for AIX > Version: 08.00.0000.0010 > "t.cpp", line 28.33: 1540-0062 (S) The incomplete class "U" must not be used > as a qualifier. > "t.cpp", line 12.39: 1540-0700 (I) The previous message was produced while > processing "struct B<int,A<int> >". -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
