aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/error.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-01-26 18:04:54 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2008-01-26 18:04:54 +0100
commit6f536f74ed2ea25a598bda90599202712e5fe632 (patch)
tree6523683d3981eeb44700f6e079f5b17ecdbf08fe /gcc/cp/error.c
parent680f02e4b47faab19c6f90630a4be1b15122e6fb (diff)
downloadgcc-6f536f74ed2ea25a598bda90599202712e5fe632.zip
gcc-6f536f74ed2ea25a598bda90599202712e5fe632.tar.gz
gcc-6f536f74ed2ea25a598bda90599202712e5fe632.tar.bz2
re PR c++/34965 (Broken diagnostic: 'truth_and_expr' not supported by dump_expr)
PR c++/34965 * c-pretty-print.c (pp_c_exclusive_or_expression): Handle TRUTH_XOR_EXPR. (pp_c_logical_and_expression): Handle TRUTH_AND_EXPR. (pp_c_logical_or_expression): Handle TRUTH_OR_EXPR. (pp_c_expression): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR. * error.c (dump_expr): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR. * gcc.dg/pr34965.c: New test. * g++.dg/other/error24.C: New test. From-SVN: r131868
Diffstat (limited to 'gcc/cp/error.c')
-rw-r--r--gcc/cp/error.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index af86cf5..b81120a 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -2083,6 +2083,16 @@ dump_expr (tree t, int flags)
pp_expression (cxx_pp, t);
break;
+ case TRUTH_AND_EXPR:
+ case TRUTH_OR_EXPR:
+ case TRUTH_XOR_EXPR:
+ if (flags & TFF_EXPR_IN_PARENS)
+ pp_cxx_left_paren (cxx_pp);
+ pp_expression (cxx_pp, t);
+ if (flags & TFF_EXPR_IN_PARENS)
+ pp_cxx_right_paren (cxx_pp);
+ break;
+
case OBJ_TYPE_REF:
dump_expr (resolve_virtual_fun_from_obj_type_ref (t), flags);
break;