aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSandra Loosemore <sloosemore@baylibre.com>2025-04-11 22:18:45 +0000
committerSandra Loosemore <sloosemore@baylibre.com>2025-04-11 22:24:20 +0000
commit498933e54dc4669276951d27d3b1bcdc0d4bacb4 (patch)
treea9414c4d9852a5193a4c360b32f3d28357fede9b /gcc
parent93f6ea830348a5a733ecde863cddae80d84bdda0 (diff)
downloadgcc-498933e54dc4669276951d27d3b1bcdc0d4bacb4.zip
gcc-498933e54dc4669276951d27d3b1bcdc0d4bacb4.tar.gz
gcc-498933e54dc4669276951d27d3b1bcdc0d4bacb4.tar.bz2
Doc: Correct documentation for -fstrong-eval-order [PR106618]
gcc/ChangeLog PR c++/106618 * doc/invoke.texi (Option Summary): Remove -fargs-in-order, add -fstrong-eval-order. (C++ Dialect Options): Explicitly document that -fstrong-eval-order takes an optional argument and what the choices are. Generalize references to C++17.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/doc/invoke.texi17
1 files changed, 12 insertions, 5 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index b9dc3fc..4be80a7 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -211,8 +211,7 @@ in the following sections.
@item C++ Language Options
@xref{C++ Dialect Options,,Options Controlling C++ Dialect}.
@gccoptlist{-fabi-version=@var{n} -fno-access-control
--faligned-new=@var{n} -fargs-in-order=@var{n}
--fno-assume-sane-operators-new-delete
+-faligned-new=@var{n} -fno-assume-sane-operators-new-delete
-fchar8_t -fcheck-new
-fconcepts -fconstexpr-depth=@var{n} -fconstexpr-cache-depth=@var{n}
-fconstexpr-loop-limit=@var{n} -fconstexpr-ops-limit=@var{n}
@@ -235,6 +234,7 @@ in the following sections.
-fno-optional-diags
-fno-pretty-templates -frange-for-ext-temps
-fno-rtti -fsized-deallocation
+-fstrong-eval-order@r{[}=@var{kind}@r{]}
-ftemplate-backtrace-limit=@var{n}
-ftemplate-depth=@var{n}
-fno-threadsafe-statics -fuse-cxa-atexit
@@ -3581,12 +3581,19 @@ type.
@opindex fstrong-eval-order
@item -fstrong-eval-order
+@itemx -fstrong-eval-order=@var{kind}
Evaluate member access, array subscripting, and shift expressions in
left-to-right order, and evaluate assignment in right-to-left order,
-as adopted for C++17. Enabled by default with @option{-std=c++17}.
+as adopted for C++17. @option{-fstrong-eval-order} is equivalent to
+@option{-fstrong-eval-order=all},
+and is enabled by default with @option{-std=c++17} or later.
+
@option{-fstrong-eval-order=some} enables just the ordering of member
-access and shift expressions, and is the default without
-@option{-std=c++17}.
+access and shift expressions, and is the default for C++ dialects prior to
+C++17.
+
+@option{-fstrong-eval-order=none} is equivalent to
+@option{-fno-strong-eval-order}.
@opindex ftemplate-backtrace-limit
@item -ftemplate-backtrace-limit=@var{n}