diff options
author | Paolo Carlini <pcarlini@suse.de> | 2007-12-02 19:47:18 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2007-12-02 19:47:18 +0000 |
commit | 0b93f014a71e3f5e3aa3b46822ae9f74875b2ce7 (patch) | |
tree | 7889ed15863aa7dc5fc38ee066f0a0bfccff2078 | |
parent | dd9c642a8bbbc0b75be122f98a08ab992755dedd (diff) | |
download | gcc-0b93f014a71e3f5e3aa3b46822ae9f74875b2ce7.zip gcc-0b93f014a71e3f5e3aa3b46822ae9f74875b2ce7.tar.gz gcc-0b93f014a71e3f5e3aa3b46822ae9f74875b2ce7.tar.bz2 |
re PR c++/34061 (ICE with template-template parameters and inheritance)
/cp
2007-12-02 Paolo Carlini <pcarlini@suse.de>
PR c++/34061
* pt.c (current_template_args): Use error_operand_p.
/testsuite
2007-12-02 Paolo Carlini <pcarlini@suse.de>
PR c++/34061
* g++.dg/cpp0x/pr34061.C: New.
From-SVN: r130573
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/pt.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/pr34061.C | 5 |
4 files changed, 16 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 4a8b907..097f8fa 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,10 @@ 2007-12-02 Paolo Carlini <pcarlini@suse.de> + PR c++/34061 + * pt.c (current_template_args): Use error_operand_p. + +2007-12-02 Paolo Carlini <pcarlini@suse.de> + PR c++/34273 * error.c (dump_decl): Handle TREE_BINFO. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 4b09e85..f70147d 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 00ca049..99fea62 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2007-12-02 Paolo Carlini <pcarlini@suse.de> + PR c++/34061 + * g++.dg/cpp0x/pr34061.C: New. + +2007-12-02 Paolo Carlini <pcarlini@suse.de> + PR c++/34273 * g++.dg/other/error21.C: New. diff --git a/gcc/testsuite/g++.dg/cpp0x/pr34061.C b/gcc/testsuite/g++.dg/cpp0x/pr34061.C new file mode 100644 index 0000000..7d6e71d --- /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<template<int> class ...T> struct A : T<0> {}; // { dg-error "not expanded|T" } |