This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/38613] extern template suppresses VFT but should not



------- Comment #4 from hstong at ca dot ibm dot com  2008-12-23 22:57 -------
The proposed wording (N1987) for 14.7.2 paragraph 7 says:

An explicit instantiation declaration that names a class template
specialization has no effect on the class template specialization itself
(except for perhaps resulting in its implicit instantiation).

It also says:

An explicit instantiation that names a class template specialization is an
explicit instantiation of the same kind (declaration or definition) of each of
its members that has not been previously explicitly specialized in the
translation unit containing the explicit specialization, except as described
below.

====

This leads to an interpretation where explicit instantiation declaration of a
class template specialization is equivalent to doing the same to any and all of
its members.  Of course, the user cannot explicitly do so for each of the
members if implicitly declared member functions are present.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38613


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]