From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20205 invoked by alias); 30 Aug 2004 14:46:44 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 20131 invoked by uid 48); 30 Aug 2004 14:46:36 -0000 Date: Mon, 30 Aug 2004 14:47:00 -0000 Message-ID: <20040830144636.20130.qmail@sourceware.org> From: "giovannibajo at libero dot it" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040829175551.17232.cludwig@cdc.informatik.tu-darmstadt.de> References: <20040829175551.17232.cludwig@cdc.informatik.tu-darmstadt.de> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c++/17232] classes and class template specializations treated differently w.r.t. core issue #337 X-Bugzilla-Reason: CC X-SW-Source: 2004-08/txt/msg03139.txt.bz2 List-Id: ------- 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? 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