diff options
-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 |