Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
IBM XLC++ 8.0
Description
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*()
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> >".
Attachments
Issue Links
- blocks
-
STDCXX-300 [XLC++ 8.0] error 1540-0062 compiling ti_money_get.cpp
- Closed