This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/17232] classes and class template specializations treated differently w.r.t. core issue #337
- From: "giovannibajo at libero dot it" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 30 Aug 2004 14:46:36 -0000
- Subject: [Bug c++/17232] classes and class template specializations treated differently w.r.t. core issue #337
- References: <20040829175551.17232.cludwig@cdc.informatik.tu-darmstadt.de>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From giovannibajo at libero dot it 2004-08-30 14:45 -------
(In reply to comment #6)
> IMHO the class template needs to be instantiated:
> 14.7.1/p4 (Implicit Instantiation)
> [...]
I'm with you here, but we need language lawyers to confirm.
> Do I understand you correctly, EDG based compilers will call the first
> overload for A<int>?
Yes.
> (I don't have access to an EDG based compiler whence I
> cannot easily test it myself.)
http://www.comeaucomputing.com/tryitout. You have to change your test into a
compile-time only test though. For instance, remove the catch-all ellipsis
overload and see if the compilation succeeds or fails because there is no
viable functions (see also the testcase in my patch, which I have attacched to
this bug).
> Sure, I will post this problem to comp.std.c++.
Thanks, get back to us when you get an answer.
> For gcc <= 3.3.x it is known that DR 337 is not implemented whence
> boost::is_abstract fails. The user must explicitly mark abstract
> classes (essentially by an explicit specialization of
> boost::is_abstract) if the serialization library is used with
> gcc <= 3.3.x.
I see you raised this on the Boost list. Maybe it is worth disabling
is_abstract for GCC 3.4, as the problem will be fixed in 3.5.0 only.
I apologize for not catching this simple bug back when I added support for the
DR, I usually test both template and non-template cases...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17232