diff options
Diffstat (limited to 'gcc/c-family/c-opts.c')
| -rw-r--r-- | gcc/c-family/c-opts.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c index ff6339c..d945825 100644 --- a/gcc/c-family/c-opts.c +++ b/gcc/c-family/c-opts.c @@ -910,11 +910,11 @@ c_common_post_options (const char **pfilename) else if (warn_narrowing == -1) warn_narrowing = 0; - /* C++17 requires that function arguments be evaluated left-to-right even on - PUSH_ARGS_REVERSED targets. */ + /* C++17 has stricter evaluation order requirements; let's use some of them + for earlier C++ as well, so chaining works as expected. */ if (c_dialect_cxx () - && flag_args_in_order == -1) - flag_args_in_order = 2 /*(cxx_dialect >= cxx1z) ? 2 : 0*/; + && flag_strong_eval_order == -1) + flag_strong_eval_order = (cxx_dialect >= cxx1z ? 2 : 1); /* Global sized deallocation is new in C++14. */ if (flag_sized_deallocation == -1) |
