summaryrefslogtreecommitdiff
path: root/gcc/cp/call.c
diff options
context:
space:
mode:
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-07 23:08:49 +0000
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-07 23:08:49 +0000
commit44189c16ea8bb2dae2d85820b0e086c4044c41a1 (patch)
tree533268d5a2c1921373458d7bde290aa546ce188c /gcc/cp/call.c
parentf78552823fbfb7f54b30e1b19ceaa0563872608e (diff)
downloadgcc-44189c16ea8bb2dae2d85820b0e086c4044c41a1.tar.gz
2012-10-07 Paolo Carlini <paolo.carlini@oracle.com>
* pt.c (fold_non_dependent_expr_sfinae): Remove static specifier. (tsubst_copy_and_build): Use get_target_expr_sfinae. * call.c (build_conditional_expr_1, convert_like_real): Likewise. * cvt.c (build_up_reference): Likewise. (ocp_convert): Use abstract_virtuals_error_sfinae. (build_up_reference): Propagate complain to cp_build_addr_expr. * decl.c (compute_array_index_type): Use fold_non_dependent_expr_sfinae. * cp-tree.h: Update declarations. * cvt.c (build_expr_type_conversion): Tidy. * tree.c (stabilize_aggr_init): Change to static. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192188 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/call.c')
-rw-r--r--gcc/cp/call.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 006cf41bc0e..f58dc8a52e0 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -4777,7 +4777,7 @@ build_conditional_expr_1 (tree arg1, tree arg2, tree arg3,
but now we sometimes wrap them in NOP_EXPRs so the test would
fail. */
if (CLASS_TYPE_P (TREE_TYPE (result)))
- result = get_target_expr (result);
+ result = get_target_expr_sfinae (result, complain);
/* If this expression is an rvalue, but might be mistaken for an
lvalue, we must add a NON_LVALUE_EXPR. */
result = rvalue (result);
@@ -5883,7 +5883,7 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum,
field = next_initializable_field (DECL_CHAIN (field));
CONSTRUCTOR_APPEND_ELT (vec, field, size_int (len));
new_ctor = build_constructor (totype, vec);
- return get_target_expr (new_ctor);
+ return get_target_expr_sfinae (new_ctor, complain);
}
case ck_aggr:
@@ -5899,7 +5899,8 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum,
return fold_if_not_in_template (expr);
}
expr = reshape_init (totype, expr, complain);
- return get_target_expr (digest_init (totype, expr, complain));
+ return get_target_expr_sfinae (digest_init (totype, expr, complain),
+ complain);
default:
break;