aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2023-07-02 14:18:04 +0100
committerIain Sandoe <iain@sandoe.co.uk>2023-07-02 15:21:20 +0100
commitcdd4b3c0f0f428678c24de74b1f626628450799c (patch)
treeec7f5b45b0a96a4483200ff16b2385323895e077
parent6757bf86142a61c7b4ebabb713d17231e86e12f7 (diff)
downloadgcc-cdd4b3c0f0f428678c24de74b1f626628450799c.zip
gcc-cdd4b3c0f0f428678c24de74b1f626628450799c.tar.gz
gcc-cdd4b3c0f0f428678c24de74b1f626628450799c.tar.bz2
Darwin, Objective-C: Support -fconstant-cfstrings [PR108743].
This support the -fconstant-cfstrings option as used by clang (and expect by some build scripts) as an alias to the target-specific -mconstant-cfstrings. The documentation is also updated to reflect that the 'f' option is only available on Darwin, and to add the 'm' option to the Darwin section of the invocation text. Signed-off-by: Iain Sandoe <iain@sandoe.co.uk> PR target/108743 gcc/ChangeLog: * config/darwin.opt: Add fconstant-cfstrings alias to mconstant-cfstrings. * doc/invoke.texi: Amend invocation descriptions to reflect that the fconstant-cfstrings is a target-option alias and to add the missing mconstant-cfstrings option description to the Darwin section.
-rw-r--r--gcc/config/darwin.opt4
-rw-r--r--gcc/doc/invoke.texi27
2 files changed, 24 insertions, 7 deletions
diff --git a/gcc/config/darwin.opt b/gcc/config/darwin.opt
index feaa958..d655aae 100644
--- a/gcc/config/darwin.opt
+++ b/gcc/config/darwin.opt
@@ -33,6 +33,10 @@ fapple-kext
Target C++ Var(flag_apple_kext)
Generate code for darwin loadable kernel extensions.
+fconstant-cfstrings
+ObjC ObjC++ Alias(mconstant-cfstrings)
+Generate compile-time CFString objects.
+
iframework
Target RejectNegative C ObjC C++ ObjC++ Joined Separate
-iframework <dir> Add <dir> to the end of the system framework include path.
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index efcf3bf..26bcbe2 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -4830,10 +4830,12 @@ and Objective-C++ programs:
Use @var{class-name} as the name of the class to instantiate for each
literal string specified with the syntax @code{@@"@dots{}"}. The default
class name is @code{NXConstantString} if the GNU runtime is being used, and
-@code{NSConstantString} if the NeXT runtime is being used (see below). The
-@option{-fconstant-cfstrings} option, if also present, overrides the
-@option{-fconstant-string-class} setting and cause @code{@@"@dots{}"} literals
-to be laid out as constant CoreFoundation strings.
+@code{NSConstantString} if the NeXT runtime is being used (see below). On
+Darwin (macOS, MacOS X) platforms, the @option{-fconstant-cfstrings} option, if
+also present, overrides the @option{-fconstant-string-class} setting and cause
+@code{@@"@dots{}"} literals to be laid out as constant CoreFoundation strings.
+Note that @option{-fconstant-cfstrings} is an alias for the target-specific
+@option{-mconstant-cfstrings} equivalent.
@opindex fgnu-runtime
@item -fgnu-runtime
@@ -24118,10 +24120,21 @@ This is by default ON@.
@item -gfull
Emit debugging information for all symbols and types.
+@opindex fconstant-cfstrings
+@item -fconstant-cfstrings
+The @option{-fconstant-cfstrings} is an alias for @option{-mconstant-cfstrings}.
+
+@opindex mconstant-cfstrings
+@item -mconstant-cfstrings
+When the NeXT runtime is being used (the default on these systems), override
+any @option{-fconstant-string-class} setting and cause @code{@@"@dots{}"}
+literals to be laid out as constant CoreFoundation strings.
+
+@opindex mmacosx-version-min
@item -mmacosx-version-min=@var{version}
-The earliest version of MacOS X that this executable will run on
-is @var{version}. Typical values of @var{version} include @code{10.1},
-@code{10.2}, and @code{10.3.9}.
+The earliest version of MacOS X that this executable will run on is
+@var{version}. Typical values supported for @var{version} include @code{12},
+@code{10.12}, and @code{10.5.8}.
If the compiler was built to use the system's headers by default,
then the default for this option is the system version on which the