From: Paolo Carlini Date: Fri, 4 Jan 2008 13:57:34 +0000 (+0000) Subject: re PR c++/34611 (Broken diagnostic: 'tree_list' not supported by dump_expr) X-Git-Tag: releases/gcc-4.3.0~754 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a9fe2f76d7d3bbf941e7056b3eb9a4b5f0c45657;p=thirdparty%2Fgcc.git re PR c++/34611 (Broken diagnostic: 'tree_list' not supported by dump_expr) 2008-01-04 Paolo Carlini Jakub Jelinek PR c++/34611 * error.c (dump_template_argument): Deal with TREE_LIST. Co-Authored-By: Jakub Jelinek From-SVN: r131321 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index cc99369d1861..cdc55b42e3f6 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2008-01-04 Paolo Carlini + Jakub Jelinek + + PR c++/34611 + * error.c (dump_template_argument): Deal with TREE_LIST. + 2008-01-01 Douglas Gregor * 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 285d4fe037ad..d3d9975a3d6b 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