diff options
author | Paolo Carlini <pcarlini@suse.de> | 2008-01-04 13:57:34 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2008-01-04 13:57:34 +0000 |
commit | a9fe2f76d7d3bbf941e7056b3eb9a4b5f0c45657 (patch) | |
tree | 5f225d8ce8ed833d6d03015de4dfa8b96808e148 /gcc | |
parent | 9e9f7b9c19c168689a59caa4c7a5acd00b86c75d (diff) | |
download | gcc-a9fe2f76d7d3bbf941e7056b3eb9a4b5f0c45657.zip gcc-a9fe2f76d7d3bbf941e7056b3eb9a4b5f0c45657.tar.gz gcc-a9fe2f76d7d3bbf941e7056b3eb9a4b5f0c45657.tar.bz2 |
re PR c++/34611 (Broken diagnostic: 'tree_list' not supported by dump_expr)
2008-01-04 Paolo Carlini <pcarlini@suse.de>
Jakub Jelinek <jakub@redhat.com>
PR c++/34611
* error.c (dump_template_argument): Deal with TREE_LIST.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r131321
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/error.c | 7 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index cc99369..cdc55b4 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2008-01-04 Paolo Carlini <pcarlini@suse.de> + Jakub Jelinek <jakub@redhat.com> + + PR c++/34611 + * error.c (dump_template_argument): Deal with TREE_LIST. + 2008-01-01 Douglas Gregor <doug.gregor@gmail.com> * parser.c (cp_parser_check_decl_spec): Don't warn about "long diff --git a/gcc/cp/error.c b/gcc/cp/error.c index 285d4fe..d3d9975 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -143,7 +143,12 @@ dump_template_argument (tree arg, int flags) else if (TYPE_P (arg) || TREE_CODE (arg) == TEMPLATE_DECL) dump_type (arg, flags & ~TFF_CLASS_KEY_OR_ENUM); else - dump_expr (arg, (flags | TFF_EXPR_IN_PARENS) & ~TFF_CLASS_KEY_OR_ENUM); + { + if (TREE_CODE (arg) == TREE_LIST) + arg = TREE_VALUE (arg); + + dump_expr (arg, (flags | TFF_EXPR_IN_PARENS) & ~TFF_CLASS_KEY_OR_ENUM); + } } /* Dump a template-argument-list ARGS (always a TREE_VEC) under control |