From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27562 invoked by alias); 7 Nov 2012 07:18:04 -0000 Received: (qmail 27483 invoked by uid 48); 7 Nov 2012 07:17:47 -0000 From: "ethouris at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/52008] [Core/1495] ICE when adding partial specialization for variadic-templated structure Date: Wed, 07 Nov 2012 07:18:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ethouris at gmail dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: jason at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.0 X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2012-11/txt/msg00544.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52008 --- Comment #16 from Michal Malecki 2012-11-07 07:17:46 UTC --- (In reply to comment #15) > (In reply to comment #14) > > GCC "rejects" it by doing ICE. I don't think this is the right thing that GCC > > should do. > > No it doesn't it gives an error, see comment 4. ... > > I'm sorry if this is behind the current state. In this below, just add #include to get rid of undefined symbol errors :) > t.cc:1:11: error: 'size_t' has not been declared > template > ^ > t.cc:8:8: error: partial specialization is not more specialized than the > primary template because it replaces multiple parameters with a pack expansion > struct tuple_sliced<0, Types...> // <-- line 18 > ^ And that's what it should be, thanks. (Would be nice of course, if the part of the message starting from "the primary template" is another message assigned to the line where the primary template is defined, but this is just cosmetic :).