This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/95: No implicit instantiation of static data member templateson HPUX
- From: Wolfgang Bangerth <bangerth at ticam dot utexas dot edu>
- To: law at redhat dot com, <gcc-bugs at gcc dot gnu dot org>, <gcc-gnats at gcc dot gnu dot org>
- Date: Tue, 22 Oct 2002 18:04:49 -0500 (CDT)
- Subject: Re: c++/95: No implicit instantiation of static data member templateson HPUX
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