diff options
author | Paolo Carlini <pcarlini@suse.de> | 2008-02-24 18:23:19 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2008-02-24 18:23:19 +0000 |
commit | a84a98ca46a9c49970f69f36432fc5c31dc5e807 (patch) | |
tree | f73f7f06b71fcec97609e731d4083690e184a7f8 /gcc/cp/error.c | |
parent | 98d778a6631e548dbee67cf8e2445230300a3c4e (diff) | |
download | gcc-a84a98ca46a9c49970f69f36432fc5c31dc5e807.zip gcc-a84a98ca46a9c49970f69f36432fc5c31dc5e807.tar.gz gcc-a84a98ca46a9c49970f69f36432fc5c31dc5e807.tar.bz2 |
error.c (dump_expr): Don't deal directly with NEW_EXPR (and VEC_NEW_EXPR), forward to pp_expression.
2008-02-24 Paolo Carlini <pcarlini@suse.de>
* error.c (dump_expr): Don't deal directly with NEW_EXPR (and
VEC_NEW_EXPR), forward to pp_expression.
* cxx-pretty-print.c (pp_cxx_new_expression): Fix FIXME.
From-SVN: r132595
Diffstat (limited to 'gcc/cp/error.c')
-rw-r--r-- | gcc/cp/error.c | 39 |
1 files changed, 2 insertions, 37 deletions
diff --git a/gcc/cp/error.c b/gcc/cp/error.c index b81120a..678fd9d 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -1583,43 +1583,6 @@ dump_expr (tree t, int flags) } break; - case NEW_EXPR: - { - tree type = TREE_OPERAND (t, 1); - tree init = TREE_OPERAND (t, 2); - if (NEW_EXPR_USE_GLOBAL (t)) - pp_cxx_colon_colon (cxx_pp); - pp_cxx_identifier (cxx_pp, "new"); - if (TREE_OPERAND (t, 0)) - { - pp_cxx_left_paren (cxx_pp); - dump_expr_list (TREE_OPERAND (t, 0), flags); - pp_cxx_right_paren (cxx_pp); - pp_cxx_whitespace (cxx_pp); - } - if (TREE_CODE (type) == ARRAY_REF) - type = build_cplus_array_type - (TREE_OPERAND (type, 0), - build_index_type (fold_build2 (MINUS_EXPR, integer_type_node, - TREE_OPERAND (type, 1), - integer_one_node))); - dump_type (type, flags); - if (init) - { - pp_cxx_left_paren (cxx_pp); - if (TREE_CODE (init) == TREE_LIST) - dump_expr_list (init, flags); - else if (init == void_zero_node) - /* This representation indicates an empty initializer, - e.g.: "new int()". */ - ; - else - dump_expr (init, flags); - pp_cxx_right_paren (cxx_pp); - } - } - break; - case TARGET_EXPR: /* Note that this only works for G++ target exprs. If somebody builds a general TARGET_EXPR, there's no way to represent that @@ -2075,6 +2038,8 @@ dump_expr (tree t, int flags) case TYPEID_EXPR: case MEMBER_REF: case DOTSTAR_EXPR: + case NEW_EXPR: + case VEC_NEW_EXPR: case DELETE_EXPR: case VEC_DELETE_EXPR: case MODOP_EXPR: |