aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2008-01-04 13:57:34 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2008-01-04 13:57:34 +0000
commita9fe2f76d7d3bbf941e7056b3eb9a4b5f0c45657 (patch)
tree5f225d8ce8ed833d6d03015de4dfa8b96808e148 /gcc
parent9e9f7b9c19c168689a59caa4c7a5acd00b86c75d (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/cp/error.c7
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