c++/95: No implicit instantiation of static data member templates on HPUX
Wolfgang Bangerth
bangerth@ticam.utexas.edu
Tue Oct 22 16:06:00 GMT 2002
The following reply was made to PR c++/95; it has been noted by GNATS.
From: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
To: law@redhat.com, <gcc-bugs@gcc.gnu.org>, <gcc-gnats@gcc.gnu.org>
Cc:
Subject: Re: c++/95: No implicit instantiation of static data member templates
on HPUX
Date: Tue, 22 Oct 2002 18:04:49 -0500 (CDT)
c++/95 is about the following:
-----------------------------------------
template <class T> class X { static int *i; };
class Y {};
int *X<Y>::i; // = 0;
-----------------------------------------
With gcc2.95, this puts the static variable into different segments,
depending on whether we have the initialization I commented out, or not.
On Linux, I get either
00000004 C _t1X1Z1Y.i # without initialization
00000000 D _t1X1Z1Y.i # with initialization
This difference has gone with present CVS and 3.2. I always get
00000000 B _ZN1XI1YE1iE
Jeff, this report is against HPUX which I cannot test, but you are the
maintainer of this port. Can you test the above test case with/without the
initializer, and if you the symbol is defined in both cases, can you
please close this report?
Thanks
Wolfgang
-------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth@ticam.utexas.edu
www: http://www.ticam.utexas.edu/~bangerth
More information about the Gcc-prs
mailing list