summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2007-12-10 14:38:05 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2007-12-10 14:38:05 +0000
commite4fbeb04d6df3c29a4f1a0c0819d96eb90707742 (patch)
treea0d908f7763f20d71d829fc2f9946963fe7626cf /gcc
parent6da504a8e183329a890205c717e65dfaf8136e2f (diff)
downloadppe42-gcc-e4fbeb04d6df3c29a4f1a0c0819d96eb90707742.tar.gz
ppe42-gcc-e4fbeb04d6df3c29a4f1a0c0819d96eb90707742.zip
PR c++/34395
* error.c (dump_type_prefix, dump_type_suffix): Handle TYPE_PACK_EXPANSION. * g++.dg/cpp0x/error1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130745 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/error.c2
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/error1.C11
4 files changed, 20 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index ee732365d92..635c6973efe 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,9 @@
2007-12-10 Jakub Jelinek <jakub@redhat.com>
+ PR c++/34395
+ * error.c (dump_type_prefix, dump_type_suffix): Handle
+ TYPE_PACK_EXPANSION.
+
PR c++/34394
* error.c (dump_expr): Handle ABS_EXPR.
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index 2ad74ba2528..285d4fe037a 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -611,6 +611,7 @@ dump_type_prefix (tree t, int flags)
case VECTOR_TYPE:
case TYPEOF_TYPE:
case DECLTYPE_TYPE:
+ case TYPE_PACK_EXPANSION:
dump_type (t, flags);
pp_base (cxx_pp)->padding = pp_before;
break;
@@ -708,6 +709,7 @@ dump_type_suffix (tree t, int flags)
case VECTOR_TYPE:
case TYPEOF_TYPE:
case DECLTYPE_TYPE:
+ case TYPE_PACK_EXPANSION:
break;
default:
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8a3e532cf70..120d026df2f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
2007-12-10 Jakub Jelinek <jakub@redhat.com>
+ PR c++/34395
+ * g++.dg/cpp0x/error1.C: New test.
+
PR c++/34394
* g++.dg/other/error22.C: New test.
diff --git a/gcc/testsuite/g++.dg/cpp0x/error1.C b/gcc/testsuite/g++.dg/cpp0x/error1.C
new file mode 100644
index 00000000000..751b3b75e0c
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/error1.C
@@ -0,0 +1,11 @@
+// PR c++/34395
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+template<int... N> void foo (int... x[N]) // { dg-error "int \\\[N\\\]\\.\\.\\. x" }
+{
+ struct A
+ {
+ A () { x; } // { dg-error "use of parameter from containing function" }
+ };
+}
OpenPOWER on IntegriCloud