This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/32125] New: [4.3 regression] ICE with invalid specialization of variadic template
- From: "reichelt at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 May 2007 16:49:08 -0000
- Subject: [Bug c++/32125] New: [4.3 regression] ICE with invalid specialization of variadic template
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The following invalid code snippet triggers an ICE on mainline:
========================================================
template<typename...> struct A;
template<typename...T> struct A<T*>
{
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