From 0b93f014a71e3f5e3aa3b46822ae9f74875b2ce7 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Sun, 2 Dec 2007 19:47:18 +0000 Subject: [PATCH] re PR c++/34061 (ICE with template-template parameters and inheritance) /cp 2007-12-02 Paolo Carlini PR c++/34061 * pt.c (current_template_args): Use error_operand_p. /testsuite 2007-12-02 Paolo Carlini PR c++/34061 * g++.dg/cpp0x/pr34061.C: New. From-SVN: r130573 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/pt.c | 2 +- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/cpp0x/pr34061.C | 5 +++++ 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/g++.dg/cpp0x/pr34061.C diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 4a8b907025d..097f8fab585 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2007-12-02 Paolo Carlini + + PR c++/34061 + * pt.c (current_template_args): Use error_operand_p. + 2007-12-02 Paolo Carlini PR c++/34273 diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 4b09e856459..f70147d613d 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -3186,7 +3186,7 @@ current_template_args (void) { t = TREE_VALUE (t); - if (t != error_mark_node) + if (!error_operand_p (t)) { if (TREE_CODE (t) == TYPE_DECL || TREE_CODE (t) == TEMPLATE_DECL) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 00ca0493678..99fea62115c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-12-02 Paolo Carlini + + PR c++/34061 + * g++.dg/cpp0x/pr34061.C: New. + 2007-12-02 Paolo Carlini PR c++/34273 diff --git a/gcc/testsuite/g++.dg/cpp0x/pr34061.C b/gcc/testsuite/g++.dg/cpp0x/pr34061.C new file mode 100644 index 00000000000..7d6e71d0e74 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/pr34061.C @@ -0,0 +1,5 @@ +// PR c++/34061 +// { dg-do compile } +// { dg-options "-std=c++0x" } + +template class ...T> struct A : T<0> {}; // { dg-error "not expanded|T" }