aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/error.c
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2008-02-24 18:23:19 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2008-02-24 18:23:19 +0000
commita84a98ca46a9c49970f69f36432fc5c31dc5e807 (patch)
treef73f7f06b71fcec97609e731d4083690e184a7f8 /gcc/cp/error.c
parent98d778a6631e548dbee67cf8e2445230300a3c4e (diff)
downloadgcc-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.c39
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: