diff options
| author | Jason Merrill <jason@redhat.com> | 2016-07-08 16:25:31 -0400 |
|---|---|---|
| committer | Jason Merrill <jason@gcc.gnu.org> | 2016-07-08 16:25:31 -0400 |
| commit | d0cf395a999499cfdc785cdb920bfdf401a628aa (patch) | |
| tree | f26032d4656084707e134821ce7a0fc9c5c21ae5 /gcc/cp/cp-gimplify.c | |
| parent | 8a1b7b7fd75a38474a335a98ac97d674b4c38b20 (diff) | |
| download | gcc-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.c | 5 |
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); |
