This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/10551: [3.3/3.4 regression] Failure to emit explicitly instantiated template w/--no-implicit-templates
- From: bangerth at dealii dot org
- To: gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, mmitchel at gcc dot gnu dot org, nobody at gcc dot gnu dot org, snyder at fnal dot gov
- Date: 29 Apr 2003 19:55:14 -0000
- Subject: Re: c++/10551: [3.3/3.4 regression] Failure to emit explicitly instantiated template w/--no-implicit-templates
- Reply-to: bangerth at dealii dot org, gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, mmitchel at gcc dot gnu dot org, nobody at gcc dot gnu dot org, snyder at fnal dot gov, gcc-gnats at gcc dot gnu dot org
Old Synopsis: Failure to emit explicitly instantiated template w/--no-implicit-templates
New Synopsis: [3.3/3.4 regression] Failure to emit explicitly instantiated template w/--no-implicit-templates
Responsible-Changed-From-To: unassigned->mmitchel
Responsible-Changed-By: bangerth
Responsible-Changed-When: Tue Apr 29 19:55:14 2003
Responsible-Changed-Why:
Might be due to a patch of yours
State-Changed-From-To: open->analyzed
State-Changed-By: bangerth
State-Changed-When: Tue Apr 29 19:55:14 2003
State-Changed-Why:
Confirmed. A regression in 3.3 and 3.4 w.r.t 3.2. Reduced
code is this:
---------------------------
template <class T> struct C {
~C();
};
template <class T> C<T>::~C() {}
struct X {
C<X> *p;
~X() { delete p; }
};
template class C<X>;
C<X> x;
int main () {}
--------------------------------
g/x> /home/bangerth/bin/gcc-3.3-pre/bin/c++ x.cc --no-implicit-templates
/tmp/cckNVmwH.o: In function `__static_initialization_and_destruction_0(int, int)':
/tmp/cckNVmwH.o(.text+0x3e): undefined reference to `C<X>::~C [in-charge]()'
(and same with 3.4).
W.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10551