diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-01-26 18:04:54 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-01-26 18:04:54 +0100 |
commit | 6f536f74ed2ea25a598bda90599202712e5fe632 (patch) | |
tree | 6523683d3981eeb44700f6e079f5b17ecdbf08fe /gcc/cp/error.c | |
parent | 680f02e4b47faab19c6f90630a4be1b15122e6fb (diff) | |
download | gcc-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.c | 10 |
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; |