aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/cp-gimplify.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2016-07-08 16:25:31 -0400
committerJason Merrill <jason@gcc.gnu.org>2016-07-08 16:25:31 -0400
commitd0cf395a999499cfdc785cdb920bfdf401a628aa (patch)
treef26032d4656084707e134821ce7a0fc9c5c21ae5 /gcc/cp/cp-gimplify.c
parent8a1b7b7fd75a38474a335a98ac97d674b4c38b20 (diff)
downloadgcc-d0cf395a999499cfdc785cdb920bfdf401a628aa.zip
gcc-d0cf395a999499cfdc785cdb920bfdf401a628aa.tar.gz
gcc-d0cf395a999499cfdc785cdb920bfdf401a628aa.tar.bz2
P0145: Refining Expression Order for C++ (-fstrong-eval-order).
gcc/c-family/ * c.opts (-fargs-in-order): Rename to -fstrong-eval-order. * c-opts.c: Adjust. gcc/cp/ * call.c (op_is_ordered, build_over_call): Adjust for -fargs-in-order renaming to -fstrong-eval-order. * cp-gimplify.c (cp_gimplify_expr): Likewise. From-SVN: r238176
Diffstat (limited to 'gcc/cp/cp-gimplify.c')
-rw-r--r--gcc/cp/cp-gimplify.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/cp/cp-gimplify.c b/gcc/cp/cp-gimplify.c
index 1d81fb1..c04368f 100644
--- a/gcc/cp/cp-gimplify.c
+++ b/gcc/cp/cp-gimplify.c
@@ -780,11 +780,10 @@ cp_gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p)
ret = GS_ERROR;
}
}
- else if (flag_args_in_order == 1
+ else if (flag_strong_eval_order
&& !CALL_EXPR_OPERATOR_SYNTAX (*expr_p))
{
- /* If flag_args_in_order == 1, we don't force an order on all
- function arguments, but do evaluate the object argument first. */
+ /* If flag_strong_eval_order, evaluate the object argument first. */
tree fntype = TREE_TYPE (CALL_EXPR_FN (*expr_p));
if (POINTER_TYPE_P (fntype))
fntype = TREE_TYPE (fntype);