From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18134 invoked by alias); 28 May 2007 16:49:17 -0000 Received: (qmail 18111 invoked by uid 48); 28 May 2007 16:49:08 -0000 Date: Mon, 28 May 2007 16:49:00 -0000 Subject: [Bug c++/32125] New: [4.3 regression] ICE with invalid specialization of variadic template X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "reichelt at gcc dot gnu dot org" 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: 2007-05/txt/msg02497.txt.bz2 The following invalid code snippet triggers an ICE on mainline: ======================================================== template struct A; template struct A { A(); A(T); }; ======================================================== bug.cc:3: error: parameter packs not expanded with `...': bug.cc:3: note: 'T' bug.cc:4: error: parameter packs not expanded with `...': bug.cc:4: note: 'T' bug.cc:5: error: parameter packs not expanded with `...': bug.cc:5: note: 'T' bug.cc:6: error: parameter packs not expanded with `...': bug.cc:6: note: 'T' bug.cc:6: error: parameter packs not expanded with `...': bug.cc:6: note: 'T' bug.cc:6: internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in add_method, at cp/class.c:1029 Please submit a full bug report, [etc.] Just one nit: Do we have to emit an error message for every line (sometimes even twice)? Btw, the quotation should also be fixed like in the patch below (I haven't time to test the patch, though): ================================================================= --- gcc/gcc/cp/pt.c 2007-05-25 22:27:32 +0200 +++ gcc/gcc/cp/pt.c 2007-05-27 19:23:23 +0200 @@ -2622,7 +2622,7 @@ check_for_bare_parameter_packs (tree t) if (parameter_packs) { - error ("parameter packs not expanded with `...':"); + error ("parameter packs not expanded with %<...%>:"); while (parameter_packs) { tree pack = TREE_VALUE (parameter_packs); ================================================================= -- Summary: [4.3 regression] ICE with invalid specialization of variadic template Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code, error-recovery, monitored Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: reichelt at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32125