This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/26621] Template instantiation fails for -O1 -finline-functions
- From: "_talyn_ at web dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Mar 2006 13:56:36 -0000
- Subject: [Bug c++/26621] Template instantiation fails for -O1 -finline-functions
- References: <bug-26621-12333@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #6 from _talyn_ at web dot de 2006-03-10 13:56 -------
(From update of attachment 11015)
Certainly, I see your point with respect to the get* methods, a hint in the
g++-4.X release notes about the more aggressive inlining would probably be
helpful.
However, this doesn't explain, why the reference to TTypeWrapper::~TTypeWrapper
is missing if the instance of CVectorWrap is allocated statically, and it is
not missing, if it is allocated dynamically. The VMT of CVectorWrap should be
created with instance.o the reference to TTypeWrapper::~TTypeWrapper will be
needed there. Hence, it should be instanciated automatically, and creating
CVectorWrap dynamically seems to proof that indeed it is. Explicit
instanciation is a orkaround, but IMHO it is not the solution.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26621