re PR c++/33213 (Broken diagnostic: 'type_pack_expansion' not supported by dump_decl)
authorPaolo Carlini <pcarlini@suse.de>
Fri, 28 Sep 2007 17:52:22 +0000 (17:52 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Fri, 28 Sep 2007 17:52:22 +0000 (17:52 +0000)
cp/
2007-09-28  Paolo Carlini  <pcarlini@suse.de>

PR c++/33213
* error.c (dump_decl): Deal with TYPE_PACK_EXPANSION.

testsuite/
2007-09-28  Paolo Carlini  <pcarlini@suse.de>

PR c++/33213
* g++.dg/cpp0x/variadic79.C: New.

From-SVN: r128870

gcc/cp/ChangeLog
gcc/cp/error.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/variadic79.C [new file with mode: 0644]

index 2bddda2..7d70e13 100644 (file)
@@ -1,5 +1,10 @@
 2007-09-28  Paolo Carlini  <pcarlini@suse.de>
 
+       PR c++/33213
+       * error.c (dump_decl): Deal with TYPE_PACK_EXPANSION.
+
+2007-09-28  Paolo Carlini  <pcarlini@suse.de>
+
        PR c++/33118
        * error.c (dump_expr): Deal with ARGUMENT_PACK_SELECT.
        (dump_type): Use dump_template_argument for TYPE_ARGUMENT_PACK.
index feb6c31..5f78a1b 100644 (file)
@@ -955,6 +955,7 @@ dump_decl (tree t, int flags)
       break;
 
     case UNBOUND_CLASS_TEMPLATE:
+    case TYPE_PACK_EXPANSION:
       dump_type (t, flags);
       break;
 
index b45fd70..f751f17 100644 (file)
@@ -1,3 +1,8 @@
+2007-09-28  Paolo Carlini  <pcarlini@suse.de>
+
+       PR c++/33213
+       * g++.dg/cpp0x/variadic79.C: New.
+
 2007-09-28  Michael Matz  <matz@suse.de>
            Jakub Jelinek  <jakub@redhat.com>
 
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic79.C b/gcc/testsuite/g++.dg/cpp0x/variadic79.C
new file mode 100644 (file)
index 0000000..3ae7f9d
--- /dev/null
@@ -0,0 +1,7 @@
+// PR c++/33213
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+template<template<typename> class...> struct A;
+
+template<template<typename...> class... B> struct A<B...> {}; // { dg-error "mismatch|'template<class ...> class B ...'" }