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:03:42 UTC

[jira] Created: (STDCXX-157) [XLC++ 8.0/Linux] explicit instantiation fails to emit some symbols

[XLC++ 8.0/Linux] 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


[jira] Commented: (STDCXX-157) [XLC++ 8.0/Linux] explicit instantiation fails to emit some symbols

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/STDCXX-157?page=comments#action_12368350 ] 

Martin Sebor commented on STDCXX-157:
-------------------------------------

Here's a more obvious test case that shows how this actually causes a problem:

$ cat t.cpp && xlC -F /package/1/ppc64/compilers/ibm/va80/vac.cfg -c t.cpp && xlC -F /package/1/ppc64/compilers/ibm/va80/vac.cfg -Dmain=main -c t.cpp -o a.o && xlC -F /package/1/ppc64/compilers/ibm/va80/vac.cfg a.o 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); }
};

#ifdef main

extern template struct S<int>;

int main ()
{
    return S<int>().bar ();
}

#else
template struct S<int>;
#endif
a.o(.text+0x1c): In function `main':
: undefined reference to `S<int>::bar()'


> [XLC++ 8.0/Linux] 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


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

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/STDCXX-157?page=comments#action_12370451 ] 

Martin Sebor commented on STDCXX-157:
-------------------------------------

Disabling the extern template extension (by #defining _RWSTD_NO_EXTERN_TEMPLATE) should do it.

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


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

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/STDCXX-157?page=comments#action_12369111 ] 

Martin Sebor commented on STDCXX-157:
-------------------------------------

This bug is actually correctly detected as the following portion of config.log shows:

xlCcore -c -O -qinline   -D_RWSTD_USE_CONFIG -I. /build/sebor/dev/stdlib/etc/config/src/EXTERN_TEMPLATE.cpp
xlCcore EXTERN_TEMPLATE.o -I/build/sebor/dev/stdlib/include/ansi    -D_RWSTD_USE_CONFIG -liconv -brtl   ./extern_template_imp.o -lm  -o EXTERN_TEMPLATE
ld: 0711-317 ERROR: Undefined symbol: .S<int>::bar() const
ld: 0711-317 ERROR: Undefined symbol: .S<int>::baz() const
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


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

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
     [ 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


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

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/STDCXX-157?page=comments#action_12427559 ] 
            
Martin Sebor commented on STDCXX-157:
-------------------------------------

-------- Original Message --------
Subject: Fw: PMR 02236,K78,000 (Compiler fails to emit symbol for a member function)
Date: 	Fri, 11 Aug 2006 12:45:25 -0400
From: 	Zoran Kulina <zo...@ca.ibm.com>
To: 	Martin Sebor <se...@roguewave.com>

Hi Martin,

The PTF had to be been deferred again to the end of September.

I hope this doesn't affect you.

I'll get in touch when we publish the PTF.

Regards.

_____________________________________
Zoran Kulina
XL C/C++ and Fortran Support
IBM Toronto Software Lab
Phone: +1 905-413-2122
http://www.can.ibm.com/torontolab


----- Forwarded by Zoran Kulina/Toronto/IBM on 08/11/2006 12:43 PM -----
*Zoran Kulina/Toronto/IBM*

07/07/2006 09:17 AM

	
To: Martin Sebor <se...@roguewave.com>
cc: 
Subject: Re: Fw: PMR 02236,K78,000 (Compiler fails to emit symbol for a member function)
Link <Notes://T25ARCH1/85256EDA00809393/97E18676142C834A8525713E00499CF3/6828326C3BB85E61852571A3006F24B0>

Hi Martin,

Sorry... I made a mistake. The PTF containing this fix was published for 
AIX, not for Linux as of yet. The Linux update is still on track for the 
end of July.

I'll put this PMR back on stand by until the Linux PTF gets out.

Regards,

Zoran Kulina
XL C/C++ and Fortran Support
IBM Software Group - Toronto Lab
+1 905-413-2122
http://www.can.ibm.com/torontolab

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

        

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

Posted by "Keith Hoaglin (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/STDCXX-157?page=comments#action_12370449 ] 

Keith Hoaglin commented on STDCXX-157:
--------------------------------------

The error is repeated also when running the new.cpp test in  tests/stdlib/test/

The library is compile line:
xlc_r -F {VACCFG} -qarch=ppc64 -q64 -D_RWSTD_NO_IMPLICIT_INCLUSION  -D_RWCONFIG=rmd -I./../../../include -I./../../.. -I.. -I. -D_RWBUILD_std -qpic -qrtti -g -D_REENTRANT -qsuppress=1540-0152:1540-2908:1500-029 -qnotempinc  -c ../<something>.cpp  

Is there  a work around for this?

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


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

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/STDCXX-157?page=comments#action_12419595 ] 

Martin Sebor commented on STDCXX-157:
-------------------------------------

-------- Original Message --------
Subject: Fw: PMR 02236,K78,000 (Compiler fails to emit symbol for a member function)
Date: Thu, 6 Jul 2006 15:35:20 -0400
From: Zoran Kulina <zo...@ca.ibm.com>
To: Martin Sebor <se...@roguewave.com>

Hi Martin,

The PTF has been published:

June 2006 XL C/C++ Enterprise Edition V8.0 for AIX PTF
http://www-1.ibm.com/support/docview.wss?rs=2239&uid=swg24012761

Please verify the fix, if desired, and let me know if I can close this 
PMR. 

Thanks.

_____________________________________
Zoran Kulina
XL C/C++ and Fortran Support
IBM Toronto Software Lab
Phone: +1 905-413-2122
http://www.can.ibm.com/torontolab


----- Forwarded by Zoran Kulina/Toronto/IBM on 07/06/2006 03:28 PM -----

Zoran Kulina/Toronto/IBM 
06/01/2006 08:01 PM

To
Martin Sebor <se...@roguewave.com>
cc

Subject
Fw: PMR 02236,K78,000 (Compiler fails to emit symbol for a member 
function)





Hi Martin,

The PTF target date has been moved to late July 2006. This is to allow us 
to include additional fixes. 

Let me know if the revised target affects you. I can send you an interim 
fix if that's the case. 

Otherwise, I'll get in touch with you when the PTF becomes available. 

Regards.

_____________________________________
Zoran Kulina
XL C/C++ and Fortran Support
IBM Toronto Software Lab
Phone: +1 905-413-2122
http://www.can.ibm.com/torontolab


----- Forwarded by Zoran Kulina/Toronto/IBM on 06/01/2006 08:01 PM -----

Zoran Kulina/Toronto/IBM 
04/26/2006 10:31 PM

To
Martin Sebor <se...@roguewave.com>
cc

Subject
Fw: PMR 02236,K78,000 (Compiler fails to emit symbol for a member 
function)





Hi Martin,

This problem has been fixed. It is scheduled to ship in the next PTF which 
is planned for the end of  May. I'll get in touch with you at that time. 

Regards.

_____________________________________
Zoran Kulina
XL C/C++ and Fortran Support
IBM Toronto Software Lab
Phone: +1 905-413-2122
http://www.can.ibm.com/torontolab


----- Forwarded by Zoran Kulina/Toronto/IBM on 04/26/2006 10:28 PM -----

Zoran Kulina/Toronto/IBM 
03/22/2006 11:32 AM

To
Martin Sebor <se...@roguewave.com>
cc

Subject
Fw: PMR 02236,K78,000 (Compiler fails to emit symbol for a member 
function)





Hi Martin,

The problem has been fixed. I don't have a PTF target yet. The target will 
likely depend on the volume of APARs. Let's follow up in a month and I 
hope I will have a better idea then. 

Let me know if you have questions in the meantime. 

Regards,

Zoran Kulina
XL C/C++ and Fortran Support
IBM Toronto Software Lab
+1 905-413-2122
http://www.can.ibm.com/torontolab

----- Forwarded by Zoran Kulina/Toronto/IBM on 03/22/2006 11:26 AM -----

Zoran Kulina/Toronto/IBM 
03/10/2006 04:57 PM

To
Martin Sebor <se...@roguewave.com>
cc

Subject
Fw: PMR 02236,K78,000 (Compiler fails to emit symbol for a member 
function)





Hi Martin,

I'll be away next week so I'd like to provide an update now. 

We know what is causing this defect. We are working on a fix, This will 
likely be fixed next week. 

I will follow up with you the week after. Talk to Jennifer O'Connor 
(joconnor@ca.ibm.com) if you need assistance with this PMR while I'm away. 


Regards,

Zoran Kulina
XL C/C++ and Fortran Support
IBM Toronto Software Lab
+1 905-413-2122
http://www.can.ibm.com/torontolab

----- Forwarded by Zoran Kulina/Toronto/IBM on 03/10/2006 04:57 PM -----

Martin Sebor <se...@roguewave.com> 
03/07/2006 11:19 AM

To
Zoran Kulina/Toronto/IBM@IBMCA
cc

Subject
Re: Fw: PMR 02236,K78,000 (Compiler fails to emit symbol for a member 
function)






Zoran Kulina wrote:
> 
> Hi Martin,
> 
> Do you need the fix in the V7 release, as well. 

It would be nice to have it there if it's not too big a deal.
(I already worked around this issue in our code but at the cost
of increased size of programs that link with our library.)

Martin

> 
> Thanks,
> 
> Zoran Kulina
> XL C/C++ and Fortran Support
> IBM Toronto Software Lab
> +1 905-413-2122
> http://www.can.ibm.com/torontolab
> 
> ----- Forwarded by Zoran Kulina/Toronto/IBM on 03/07/2006 10:38 AM -----
> *Zoran Kulina/Toronto/IBM*
> 
> 03/07/2006 08:32 AM
> 
> 
> To
>                Martin Sebor <se...@roguewave.com>
> cc
> 
> Subject
>                Re: PMR 02236,K78,000 (Compiler fails to emit symbol for 
a member 
> function)Link 
> <
Notes:///852569FF005FF534/27830A67B988F4F68525643000741AA4/DD9BBACF39A22C018525712A0002C65A
>
> 
> 
> 
> 
> 
> 
> 
> Thanks Martin. I added this to the defect report.
> 
> 
> Regards,
> 
> Zoran Kulina
> XL C/C++ and Fortran Support
> IBM Toronto Software Lab
> +1 905-413-2122
> http://www.can.ibm.com/torontolab
> 
> 
> 
> *Martin Sebor <se...@roguewave.com>*
> 
> 03/06/2006 07:34 PM
> 
> 
> To
>                Zoran Kulina/Toronto/IBM@IBMCA
> cc
> 
> Subject
>                Re: PMR 02236,K78,000 (Compiler fails to emit symbol for 
a member function)
> 
> 
> 
> 
> 
> 
> 
> 
> Zoran,
> 
> Here's some additional detail on this bug:
> http://issues.apache.org/jira/browse/STDCXX-157
> 
> Martin
> 
> Martin Sebor wrote:
>  > Zoran Kulina wrote:
>  >
>  >>
>  >> Hi Martin,
>  >>
>  >> I will be handling this PMR for you. I will create a defect report 
and
>  >> get back to you with status update in two weeks.
>  >>
>  >> Meanwhile, could you just confirm that you are using SLES9? The 
uname
>  >> output suggests so but it doesn't hurt to verify.
>  >
>  >
>  > Yes, that's the OS.
>  >
>  > Martin


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