cp-tree.h (build_binary_op): Remove unneeded parameter.

* cp-tree.h (build_binary_op): Remove unneeded parameter.
	* class.c (build_vrable_entry_ref): Adjust call to
	build_binary_op.
	* decl.c (expand_static_init): Likewise.
	(grokdeclarator): Likewise.
	(finish_function): Likewise.
	* decl2.c (delete_sanity): Likewise.
	(do_dtors): Likewise.
	(do_ctors): Likewise.
	* error.c (dump_type_suffix): Likewise.
	* expr.c (cplus_expand_expr): Likewise.
	* init.c (resolve_offset_ref): Likewise.
	(build_new): Likewise.
	(build_new_1): Likewise.
	(build_vec_delete_1): Likewise.
	(expand_vec_init_catch_clause): Likewise.
	(build_delete): Likewise.
	* pt.c (tsubst): Likewise.
	* rtti.c (synthesize_tinfo_fn): Likewise.
	* search.c (expand_upcast_fixups): Likewise.
	(expand_direct_vtbls_init): Likewise.
	* typeck.c (get_member_function_from_ptrfunc): Likewise.
	(build_binary_op_nodefault): Likewise.
	(point_int_sum): Likewise.
	(pointer_diff): Likewise.
	(build_unary_op): Likewise.
	(build_modify_expr): Likewise.
	(get_delta_difference): Likewise.
	(build_ptrmemfunc): Likewise.
	(expand_ptrmemfunc_cst): Likewise.

From-SVN: r26566
This commit is contained in:
Mark Mitchell 1999-04-20 21:48:52 +00:00 committed by Mark Mitchell
parent 37679e0603
commit 337c90cc04
12 changed files with 89 additions and 66 deletions

View File

@ -1,3 +1,36 @@
1999-04-20 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (build_binary_op): Remove unneeded parameter.
* class.c (build_vrable_entry_ref): Adjust call to
build_binary_op.
* decl.c (expand_static_init): Likewise.
(grokdeclarator): Likewise.
(finish_function): Likewise.
* decl2.c (delete_sanity): Likewise.
(do_dtors): Likewise.
(do_ctors): Likewise.
* error.c (dump_type_suffix): Likewise.
* expr.c (cplus_expand_expr): Likewise.
* init.c (resolve_offset_ref): Likewise.
(build_new): Likewise.
(build_new_1): Likewise.
(build_vec_delete_1): Likewise.
(expand_vec_init_catch_clause): Likewise.
(build_delete): Likewise.
* pt.c (tsubst): Likewise.
* rtti.c (synthesize_tinfo_fn): Likewise.
* search.c (expand_upcast_fixups): Likewise.
(expand_direct_vtbls_init): Likewise.
* typeck.c (get_member_function_from_ptrfunc): Likewise.
(build_binary_op_nodefault): Likewise.
(point_int_sum): Likewise.
(pointer_diff): Likewise.
(build_unary_op): Likewise.
(build_modify_expr): Likewise.
(get_delta_difference): Likewise.
(build_ptrmemfunc): Likewise.
(expand_ptrmemfunc_cst): Likewise.
1999-04-20 Jason Merrill <jason@yorick.cygnus.com>
* decl.c (grokfndecl): Always call cplus_decl_attributes.

View File

@ -489,7 +489,7 @@ build_vtable_entry_ref (basetype, vtbl, idx)
i = build_c_cast (ptrdiff_type_node, build_unary_op (ADDR_EXPR, i, 0));
i2 = build_array_ref (vtbl, build_int_2(0,0));
i2 = build_c_cast (ptrdiff_type_node, build_unary_op (ADDR_EXPR, i2, 0));
i = build_binary_op (MINUS_EXPR, i, i2, 0);
i = build_binary_op (MINUS_EXPR, i, i2);
i = build_tree_list (build_string (1, "i"), i);
expand_asm_operands (build_string (sizeof(asm_stmt)-1, asm_stmt),

View File

@ -3425,7 +3425,7 @@ extern tree build_function_call PROTO((tree, tree));
extern tree build_function_call_maybe PROTO((tree, tree));
extern tree convert_arguments PROTO((tree, tree, tree, int));
extern tree build_x_binary_op PROTO((enum tree_code, tree, tree));
extern tree build_binary_op PROTO((enum tree_code, tree, tree, int));
extern tree build_binary_op PROTO((enum tree_code, tree, tree));
extern tree build_binary_op_nodefault PROTO((enum tree_code, tree, tree, enum tree_code));
extern tree build_component_addr PROTO((tree, tree, const char *));
extern tree build_x_unary_op PROTO((enum tree_code, tree));

View File

@ -8303,7 +8303,7 @@ expand_static_init (decl, init)
/* Begin the conditional initialization. */
expand_start_cond (build_binary_op (EQ_EXPR, temp,
integer_zero_node, 1), 0);
integer_zero_node), 0);
expand_start_target_temps ();
/* Do the initialization itself. */
@ -10225,7 +10225,7 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
= fold (build_binary_op (MINUS_EXPR,
cp_convert (index_type, size),
cp_convert (index_type,
integer_one_node), 1));
integer_one_node)));
if (! TREE_CONSTANT (itype))
itype = variable_size (itype);
else if (TREE_OVERFLOW (itype))
@ -13973,7 +13973,7 @@ finish_function (lineno, flags, nested)
if (! ok_to_optimize_dtor)
{
cond = build_binary_op (NE_EXPR,
current_class_ptr, integer_zero_node, 1);
current_class_ptr, integer_zero_node);
expand_start_cond (cond, 0);
}
@ -14033,7 +14033,7 @@ finish_function (lineno, flags, nested)
if (flag_this_is_variable > 0)
{
cond = build_binary_op (EQ_EXPR,
current_class_ptr, integer_zero_node, 1);
current_class_ptr, integer_zero_node);
thenclause = build_modify_expr (current_class_ptr, NOP_EXPR,
build_new (NULL_TREE, current_class_type, void_type_node, 0));
}

View File

@ -1176,7 +1176,7 @@ delete_sanity (exp, size, doing_vec, use_global_delete)
if (doing_vec == 2)
{
maxindex = build_binary_op (MINUS_EXPR, size, integer_one_node, 1);
maxindex = build_binary_op (MINUS_EXPR, size, integer_one_node);
pedwarn ("anachronistic use of array size in vector delete");
}
@ -3176,7 +3176,7 @@ do_dtors (start)
{
tree sentry = get_sentry (DECL_ASSEMBLER_NAME (decl));
sentry = build_unary_op (PREDECREMENT_EXPR, sentry, 0);
sentry = build_binary_op (EQ_EXPR, sentry, integer_zero_node, 1);
sentry = build_binary_op (EQ_EXPR, sentry, integer_zero_node);
expand_start_cond (sentry, 0);
}
@ -3255,7 +3255,7 @@ do_ctors (start)
tree sentry = get_sentry (DECL_ASSEMBLER_NAME (decl));
sentry = build_unary_op (PREINCREMENT_EXPR, sentry, 0);
sentry = build_binary_op
(EQ_EXPR, sentry, integer_one_node, 1);
(EQ_EXPR, sentry, integer_one_node);
expand_start_cond (sentry, 0);
}

View File

@ -579,7 +579,7 @@ dump_type_suffix (t, v, canonical_name)
else
dump_expr (fold (build_binary_op
(PLUS_EXPR, TYPE_MAX_VALUE (TYPE_DOMAIN (t)),
integer_one_node, 1)), 0);
integer_one_node)), 0);
}
OB_PUTC (']');
dump_type_suffix (TREE_TYPE (t), v, canonical_name);

View File

@ -219,7 +219,7 @@ cplus_expand_expr (exp, target, tmode, modifier)
(expand_vec_init
(NULL_TREE, TREE_OPERAND (exp, 0),
build_binary_op (MINUS_EXPR, TREE_OPERAND (exp, 2),
integer_one_node, 1),
integer_one_node),
TREE_OPERAND (exp, 1), 0), target, tmode, modifier);
case NEW_EXPR:

View File

@ -1793,8 +1793,7 @@ resolve_offset_ref (exp)
pointer with a real value of 0 is distinguishable from an
offset of the first member of a structure. */
member = build_binary_op (MINUS_EXPR, member,
cp_convert (ptrdiff_type_node, integer_one_node),
0);
cp_convert (ptrdiff_type_node, integer_one_node));
return build1 (INDIRECT_REF, type,
build (PLUS_EXPR, build_pointer_type (type),
@ -1945,7 +1944,7 @@ build_new (placement, decl, init, use_global_new)
nelts = integer_zero_node;
}
else
nelts = build_binary_op (MULT_EXPR, nelts, this_nelts, 1);
nelts = build_binary_op (MULT_EXPR, nelts, this_nelts);
}
}
else
@ -2134,7 +2133,7 @@ build_new_1 (exp)
while (TREE_CODE (true_type) == ARRAY_TYPE)
{
tree this_nelts = array_type_nelts_top (true_type);
nelts = build_binary_op (MULT_EXPR, nelts, this_nelts, 1);
nelts = build_binary_op (MULT_EXPR, nelts, this_nelts);
true_type = TREE_TYPE (true_type);
}
@ -2143,7 +2142,7 @@ build_new_1 (exp)
if (has_array)
size = fold (build_binary_op (MULT_EXPR, size_in_bytes (true_type),
nelts, 1));
nelts));
else
size = size_in_bytes (type);
@ -2285,7 +2284,7 @@ build_new_1 (exp)
tree extra = BI_header_size;
tree cookie, exp1;
rval = convert (string_type_node, rval); /* for ptr arithmetic */
rval = save_expr (build_binary_op (PLUS_EXPR, rval, extra, 1));
rval = save_expr (build_binary_op (PLUS_EXPR, rval, extra));
/* Store header info. */
cookie = build_indirect_ref (build (MINUS_EXPR,
build_pointer_type (BI_header_type),
@ -2471,7 +2470,7 @@ build_new_1 (exp)
{
/* Did we modify the storage? */
tree ifexp = build_binary_op (NE_EXPR, alloc_node,
integer_zero_node, 1);
integer_zero_node);
rval = build_conditional_expr (ifexp, rval, alloc_node);
}
@ -2541,8 +2540,7 @@ build_vec_delete_1 (base, maxindex, type, auto_delete_vec, auto_delete,
tree base_tbd = cp_convert (ptype,
build_binary_op (MINUS_EXPR,
cp_convert (ptr_type_node, base),
BI_header_size,
1));
BI_header_size));
/* This is the real size */
virtual_size = size_binop (PLUS_EXPR, virtual_size, BI_header_size);
body = build_expr_list (NULL_TREE,
@ -2597,8 +2595,7 @@ build_vec_delete_1 (base, maxindex, type, auto_delete_vec, auto_delete,
base_tbd = cp_convert (ptype,
build_binary_op (MINUS_EXPR,
cp_convert (string_type_node, base),
BI_header_size,
1));
BI_header_size));
/* True size with header. */
virtual_size = size_binop (PLUS_EXPR, virtual_size, BI_header_size);
}
@ -2697,7 +2694,7 @@ expand_vec_init_catch_clause (rval, type, maxindex, iterator)
e = build_vec_delete_1 (rval,
build_binary_op (MINUS_EXPR, maxindex,
iterator, 1),
iterator),
type,
/*auto_delete_vec=*/integer_zero_node,
/*auto_delete=*/integer_zero_node,
@ -3091,7 +3088,7 @@ build_delete (type, addr, auto_delete, flags, use_global_delete)
ifexp = integer_one_node;
else
/* Handle deleting a null pointer. */
ifexp = fold (build_binary_op (NE_EXPR, addr, integer_zero_node, 1));
ifexp = fold (build_binary_op (NE_EXPR, addr, integer_zero_node));
if (ifexp != integer_one_node)
expr = build (COND_EXPR, void_type_node,

View File

@ -6136,7 +6136,7 @@ tsubst (t, args, complain, in_decl)
return error_mark_node;
}
max = fold (build_binary_op (MINUS_EXPR, max, integer_one_node, 1));
max = fold (build_binary_op (MINUS_EXPR, max, integer_one_node));
if (!TREE_PERMANENT (max) && !allocation_temporary_p ())
max = copy_to_permanent (max);
return build_index_type (max);

View File

@ -1129,7 +1129,7 @@ synthesize_tinfo_fn (fndecl)
addr = decay_conversion (tdecl);
tmp = cp_convert (build_pointer_type (ptr_type_node), addr);
tmp = build_indirect_ref (tmp, 0);
tmp = build_binary_op (EQ_EXPR, tmp, integer_zero_node, 1);
tmp = build_binary_op (EQ_EXPR, tmp, integer_zero_node);
expand_start_cond (tmp, 0);
if (TREE_CODE (type) == FUNCTION_TYPE)

View File

@ -2527,7 +2527,7 @@ expand_upcast_fixups (binfo, addr, orig_addr, vbase, vbase_addr, t,
/* This is a upcast, so we have to add the offset for the
virtual base. */
old_delta = build_binary_op (PLUS_EXPR, old_delta,
TREE_VALUE (delta), 0);
TREE_VALUE (delta));
if (vc)
{
/* If this is set, we need to subtract out the delta
@ -2548,7 +2548,7 @@ expand_upcast_fixups (binfo, addr, orig_addr, vbase, vbase_addr, t,
/* This is a downcast, so we have to subtract the offset
for the virtual base. */
old_delta = build_binary_op (MINUS_EXPR, old_delta, vc_delta, 0);
old_delta = build_binary_op (MINUS_EXPR, old_delta, vc_delta);
}
TREE_READONLY (new_delta) = 0;
@ -2690,7 +2690,7 @@ expand_indirect_vtbls_init (binfo, true_exp, decl_ptr)
warning ("recoverable internal compiler error, nobody's in charge!");
in_charge_node = integer_zero_node;
}
in_charge_node = build_binary_op (EQ_EXPR, in_charge_node, integer_zero_node, 1);
in_charge_node = build_binary_op (EQ_EXPR, in_charge_node, integer_zero_node);
expand_start_cond (in_charge_node, 0);
emit_insns (fixup_insns);
expand_end_cond ();

View File

@ -2871,7 +2871,7 @@ get_member_function_from_ptrfunc (instance_ptrptr, function)
(build_component_ref (function,
index_identifier,
NULL_TREE, 0)));
e1 = build_binary_op (GT_EXPR, idx, integer_zero_node, 1);
e1 = build_binary_op (GT_EXPR, idx, integer_zero_node);
/* Convert down to the right base, before using the instance. */
instance = convert_pointer_to_real (basetype, instance_ptr);
@ -2887,7 +2887,7 @@ get_member_function_from_ptrfunc (instance_ptrptr, function)
vtbl = build_indirect_ref (vtbl, NULL_PTR);
aref = build_array_ref (vtbl, build_binary_op (MINUS_EXPR,
idx,
integer_one_node, 1));
integer_one_node));
if (! flag_vtable_thunks)
{
aref = save_expr (aref);
@ -2899,7 +2899,7 @@ get_member_function_from_ptrfunc (instance_ptrptr, function)
delta_identifier,
NULL_TREE, 0),
integer_zero_node),
delta, 1);
delta);
}
if (flag_vtable_thunks)
@ -3262,10 +3262,9 @@ build_x_binary_op (code, arg1, arg2)
}
tree
build_binary_op (code, arg1, arg2, convert_p)
build_binary_op (code, arg1, arg2)
enum tree_code code;
tree arg1, arg2;
int convert_p ATTRIBUTE_UNUSED;
{
return build_binary_op_nodefault (code, arg1, arg2, code);
}
@ -3661,18 +3660,17 @@ build_binary_op_nodefault (code, orig_op0, orig_op1, error_code)
tree e1, e2, e3;
tree integer_neg_one_node
= build_binary_op (MINUS_EXPR, integer_zero_node,
integer_one_node, 1);
e1 = build_binary_op (EQ_EXPR, index0, index1, 1);
e2 = build_binary_op (NE_EXPR, index1, integer_neg_one_node, 1);
integer_one_node);
e1 = build_binary_op (EQ_EXPR, index0, index1);
e2 = build_binary_op (NE_EXPR, index1, integer_neg_one_node);
e2 = build_binary_op (TRUTH_ANDIF_EXPR, e2,
build_binary_op (EQ_EXPR, delta20, delta21, 1),
1);
e3 = build_binary_op (EQ_EXPR, pfn0, pfn1, 1);
e2 = build_binary_op (TRUTH_ORIF_EXPR, e2, e3, 1);
e2 = build_binary_op (TRUTH_ANDIF_EXPR, e1, e2, 1);
build_binary_op (EQ_EXPR, delta20, delta21));
e3 = build_binary_op (EQ_EXPR, pfn0, pfn1);
e2 = build_binary_op (TRUTH_ORIF_EXPR, e2, e3);
e2 = build_binary_op (TRUTH_ANDIF_EXPR, e1, e2);
if (code == EQ_EXPR)
return e2;
return build_binary_op (EQ_EXPR, e2, integer_zero_node, 1);
return build_binary_op (EQ_EXPR, e2, integer_zero_node);
}
else if (TYPE_PTRMEMFUNC_P (type0)
&& TYPE_PTRMEMFUNC_FN_TYPE (type0) == type1)
@ -3685,7 +3683,7 @@ build_binary_op_nodefault (code, orig_op0, orig_op1, error_code)
tree delta21 = integer_zero_node;
tree e1, e2, e3;
tree integer_neg_one_node
= build_binary_op (MINUS_EXPR, integer_zero_node, integer_one_node, 1);
= build_binary_op (MINUS_EXPR, integer_zero_node, integer_one_node);
if (TREE_CODE (TREE_OPERAND (op1, 0)) == FUNCTION_DECL
&& DECL_VINDEX (TREE_OPERAND (op1, 0)))
{
@ -3710,23 +3708,20 @@ build_binary_op_nodefault (code, orig_op0, orig_op1, error_code)
TREE_CONSTANT (nop1) = TREE_CONSTANT (op1);
op1 = nop1;
}
e1 = build_binary_op (EQ_EXPR, index0, index1, 1);
e2 = build_binary_op (NE_EXPR, index1, integer_neg_one_node, 1);
e1 = build_binary_op (EQ_EXPR, index0, index1);
e2 = build_binary_op (NE_EXPR, index1, integer_neg_one_node);
e2 = build_binary_op (TRUTH_ANDIF_EXPR, e2,
build_binary_op (EQ_EXPR, delta20, delta21, 1),
1);
e3 = build_binary_op (EQ_EXPR, pfn0, op1, 1);
e2 = build_binary_op (TRUTH_ORIF_EXPR, e2, e3, 1);
e2 = build_binary_op (TRUTH_ANDIF_EXPR, e1, e2, 1);
build_binary_op (EQ_EXPR, delta20, delta21));
e3 = build_binary_op (EQ_EXPR, pfn0, op1);
e2 = build_binary_op (TRUTH_ORIF_EXPR, e2, e3);
e2 = build_binary_op (TRUTH_ANDIF_EXPR, e1, e2);
if (code == EQ_EXPR)
return e2;
return build_binary_op (EQ_EXPR, e2, integer_zero_node, 1);
return build_binary_op (EQ_EXPR, e2, integer_zero_node);
}
else if (TYPE_PTRMEMFUNC_P (type1)
&& TYPE_PTRMEMFUNC_FN_TYPE (type1) == type0)
{
return build_binary_op (code, op1, op0, 1);
}
return build_binary_op (code, op1, op0);
break;
case MAX_EXPR:
@ -4165,7 +4160,7 @@ pointer_int_sum (resultcode, ptrop, intop)
enum tree_code subcode = resultcode;
if (TREE_CODE (intop) == MINUS_EXPR)
subcode = (subcode == PLUS_EXPR ? MINUS_EXPR : PLUS_EXPR);
ptrop = build_binary_op (subcode, ptrop, TREE_OPERAND (intop, 1), 1);
ptrop = build_binary_op (subcode, ptrop, TREE_OPERAND (intop, 1));
intop = TREE_OPERAND (intop, 0);
}
@ -4182,8 +4177,7 @@ pointer_int_sum (resultcode, ptrop, intop)
intop = cp_convert (result_type,
build_binary_op (MULT_EXPR, intop,
cp_convert (TREE_TYPE (intop),
size_exp),
1));
size_exp)));
/* Create the sum or difference. */
@ -4226,7 +4220,7 @@ pointer_diff (op0, op1, ptrtype)
then drop through to build the divide operator. */
op0 = build_binary_op (MINUS_EXPR, cp_convert (restype, op0),
cp_convert (restype, op1), 1);
cp_convert (restype, op1));
/* This generates an error if op1 is a pointer to an incomplete type. */
if (TYPE_SIZE (TREE_TYPE (TREE_TYPE (op1))) == 0)
@ -4669,7 +4663,7 @@ build_unary_op (code, xarg, noconvert)
if (mark_addressable (TREE_OPERAND (arg, 0)) == 0)
return error_mark_node;
return build_binary_op (PLUS_EXPR, TREE_OPERAND (arg, 0),
TREE_OPERAND (arg, 1), 1);
TREE_OPERAND (arg, 1));
}
/* Uninstantiated types are all functions. Taking the
@ -6025,7 +6019,7 @@ build_modify_expr (lhs, modifycode, rhs)
else
{
lhs = stabilize_reference (lhs);
newrhs = build_binary_op (modifycode, lhs, rhs, 1);
newrhs = build_binary_op (modifycode, lhs, rhs);
if (newrhs == error_mark_node)
{
cp_error (" in evaluation of `%Q(%#T, %#T)'", modifycode,
@ -6387,7 +6381,7 @@ get_delta_difference (from, to, force)
return build_binary_op (MINUS_EXPR,
integer_zero_node,
delta, 1);
delta);
}
if (TREE_VIA_VIRTUAL (binfo))
@ -6525,8 +6519,8 @@ build_ptrmemfunc (type, pfn, force)
TYPE_METHOD_BASETYPE (TREE_TYPE (type)),
force);
delta = build_binary_op (PLUS_EXPR, ndelta, n, 1);
delta2 = build_binary_op (PLUS_EXPR, ndelta2, n, 1);
delta = build_binary_op (PLUS_EXPR, ndelta, n);
delta2 = build_binary_op (PLUS_EXPR, ndelta2, n);
e1 = fold (build (GT_EXPR, boolean_type_node, idx, integer_zero_node));
e2 = build_ptrmemfunc1 (TYPE_GET_PTRMEMFUNC_TYPE (type), delta, idx,
@ -6605,8 +6599,7 @@ expand_ptrmemfunc_cst (cst, delta, idx, pfn, delta2)
*delta2 = size_binop (PLUS_EXPR, *delta2,
build_binary_op (PLUS_EXPR,
*delta,
integer_zero_node,
1));
integer_zero_node));
}
}