diff options
Diffstat (limited to 'gcc/cp/init.c')
-rw-r--r-- | gcc/cp/init.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 1c722f5..d68dd2d 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -1001,7 +1001,7 @@ expand_cleanup_for_base (tree binfo, tree flag) tf_warning_or_error); if (flag) expr = fold_build3 (COND_EXPR, void_type_node, - c_common_truthvalue_conversion (flag), + c_common_truthvalue_conversion (input_location, flag), expr, integer_zero_node); finish_eh_cleanup (expr); @@ -1877,7 +1877,8 @@ build_new_1 (tree placement, tree type, tree nelts, tree init, for (elt_type = type; TREE_CODE (elt_type) == ARRAY_TYPE; elt_type = TREE_TYPE (elt_type)) - nelts = cp_build_binary_op (MULT_EXPR, nelts, + nelts = cp_build_binary_op (input_location, + MULT_EXPR, nelts, array_type_nelts_top (elt_type), complain); @@ -2177,7 +2178,8 @@ build_new_1 (tree placement, tree type, tree nelts, tree init, } init_expr = build_vec_init (init_expr, - cp_build_binary_op (MINUS_EXPR, outer_nelts, + cp_build_binary_op (input_location, + MINUS_EXPR, outer_nelts, integer_one_node, complain), init, @@ -2312,7 +2314,8 @@ build_new_1 (tree placement, tree type, tree nelts, tree init, { if (check_new) { - tree ifexp = cp_build_binary_op (NE_EXPR, alloc_node, + tree ifexp = cp_build_binary_op (input_location, + NE_EXPR, alloc_node, integer_zero_node, complain); rval = build_conditional_expr (ifexp, rval, alloc_node, @@ -2579,7 +2582,8 @@ build_vec_delete_1 (tree base, tree maxindex, tree type, cookie_size = targetm.cxx.get_cookie_size (type); base_tbd = cp_convert (ptype, - cp_build_binary_op (MINUS_EXPR, + cp_build_binary_op (input_location, + MINUS_EXPR, cp_convert (string_type_node, base), cookie_size, @@ -2933,13 +2937,15 @@ build_vec_init (tree base, tree maxindex, tree init, && from_array != 2) { tree e; - tree m = cp_build_binary_op (MINUS_EXPR, maxindex, iterator, + tree m = cp_build_binary_op (input_location, + MINUS_EXPR, maxindex, iterator, complain); /* Flatten multi-dimensional array since build_vec_delete only expects one-dimensional array. */ if (TREE_CODE (type) == ARRAY_TYPE) - m = cp_build_binary_op (MULT_EXPR, m, + m = cp_build_binary_op (input_location, + MULT_EXPR, m, array_type_nelts_total (type), complain); @@ -3167,7 +3173,8 @@ build_delete (tree type, tree addr, special_function_kind auto_delete, ifexp = integer_one_node; else /* Handle deleting a null pointer. */ - ifexp = fold (cp_build_binary_op (NE_EXPR, addr, integer_zero_node, + ifexp = fold (cp_build_binary_op (input_location, + NE_EXPR, addr, integer_zero_node, tf_warning_or_error)); if (ifexp != integer_one_node) |