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