]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR c++/34611 (Broken diagnostic: 'tree_list' not supported by dump_expr)
authorPaolo Carlini <pcarlini@suse.de>
Fri, 4 Jan 2008 13:57:34 +0000 (13:57 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Fri, 4 Jan 2008 13:57:34 +0000 (13:57 +0000)
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

gcc/cp/ChangeLog
gcc/cp/error.c

index cc99369d18610f98c973a68fce04cf39087fd05f..cdc55b42e3f689858a83768ee66a02c3d788c751 100644 (file)
@@ -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
index 285d4fe037adbf676998d453c56b2dcd2a8bea24..d3d9975a3d6bf492b13e690f87124b94f16b3299 100644 (file)
@@ -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