You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by "Martin Sebor (JIRA)" <ji...@apache.org> on 2006/03/01 21:25:36 UTC

[jira] Updated: (STDCXX-157) [XLC++ 7.0, 8.0] explicit instantiation fails to emit some symbols

     [ http://issues.apache.org/jira/browse/STDCXX-157?page=all ]

Martin Sebor updated STDCXX-157:
--------------------------------

    Summary: [XLC++ 7.0, 8.0] explicit instantiation fails to emit some symbols  (was: [XLC++ 8.0/Linux] explicit instantiation fails to emit some symbols)

The same error can be reproduced with both XLC++ 7.0 and 8.0 on AIX:

$ xlC -qversion && xlC -c t.cpp && xlC -Dmain=main -c t.cpp -o a.o && xlC a.o t.o
 IBM XL C/C++ Enterprise Edition V7.0 
ld: 0711-317 ERROR: Undefined symbol: .S<int>::bar()
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.

$ xlC -qversion && xlC -c t.cpp && xlC -Dmain=main -c t.cpp -o a.o && xlC a.o t.o
IBM XL C/C++ Enterprise Edition V8.0 for AIX  
Version: 08.00.0000.0000 
ld: 0711-317 ERROR: Undefined symbol: .S<int>::bar()
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.


> [XLC++ 7.0, 8.0] explicit instantiation fails to emit some symbols
> ------------------------------------------------------------------
>
>          Key: STDCXX-157
>          URL: http://issues.apache.org/jira/browse/STDCXX-157
>      Project: C++ Standard Library
>         Type: Bug
>   Components: External
>  Environment: $ uname -sr && xlC -qversion
> Linux 2.6.5-7.191-pseries64
> IBM XL C/C++ Advanced Edition V8.0 for Linux   
> Version: 08.00.0000.0000
>     Reporter: Martin Sebor

>
> PMR 02236,K78,000
> XLC++ 8.0 fails to emit a symbol for the member function S<int>::bar() in the program below.
> $ cat t.cpp && xlC -c t.cpp && echo xlc: && nm -C t.o &&
> echo gcc: && gcc -c t.cpp && nm -C t.o
> template <class T> T foo (T t) { return t; }
> template <class T>
> struct S
> {
>     T bar () { return foo (T ()); }
>     void baz () { foo<T>(0); }
> };
> template struct S<int>;
> xlc:
>          U __IBMCPlusPlusExceptionV2
> 00000000 W int foo<int>(int)
> 00000014 W S<int>::baz()
> gcc:
> 00000000 W int foo<int>(int)
> 00000000 W S<int>::bar()
> 00000000 W S<int>::baz()

-- 
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