aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2020-10-09 15:17:34 +0100
committerIain Sandoe <iain@sandoe.co.uk>2020-10-11 12:58:29 +0100
commit75d4d7bc697dd1853e89a93e6c4fa1db9a709bc0 (patch)
treee2eaa4f231ab86d41ed0766dfc59f8fa97a0ea22 /gcc/config
parent1cc7476610299eb1969f6a93ee21010ac30f5dd6 (diff)
downloadgcc-75d4d7bc697dd1853e89a93e6c4fa1db9a709bc0.zip
gcc-75d4d7bc697dd1853e89a93e6c4fa1db9a709bc0.tar.gz
gcc-75d4d7bc697dd1853e89a93e6c4fa1db9a709bc0.tar.bz2
Objective-C, Darwin : Revise the runtime selection options.
For the NeXT/Darwin runtime as installed on macOS, we now need to deal with changes in ABI and APIs over the range of system versions supported. For the first phase of these changes, we will make the existing flag_next_runtime carry a value that represents the target OS version. It might be necessary to extend the value to represent the ABI ('fragile', V1/V2) or the linker capabilities (some changes to the linker-visible and public symbols are dependent on linker version). TODO: arrange to set the default NEXT_OBJC_RUNTIME on the basis of the configured target version. gcc/ChangeLog: * config/darwin.c (darwin_objc2_section): Allow for values > 1 to represent the next runtime. (darwin_objc1_section): Likewise. * config/darwin.h (NEXT_OBJC_RUNTIME): Set the default next runtime value to be 10.5.8.
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/darwin.c4
-rw-r--r--gcc/config/darwin.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index 370ee5c..b3c1ef3 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -1439,7 +1439,7 @@ darwin_objc2_section (tree decl ATTRIBUTE_UNUSED, tree meta, section * base)
gcc_assert (TREE_CODE (ident) == IDENTIFIER_NODE);
p = IDENTIFIER_POINTER (ident);
- gcc_checking_assert (flag_next_runtime == 1 && flag_objc_abi == 2);
+ gcc_checking_assert (flag_next_runtime >= 1 && flag_objc_abi == 2);
objc_metadata_seen = 1;
@@ -1515,7 +1515,7 @@ darwin_objc1_section (tree decl ATTRIBUTE_UNUSED, tree meta, section * base)
gcc_assert (TREE_CODE (ident) == IDENTIFIER_NODE);
p = IDENTIFIER_POINTER (ident);
- gcc_checking_assert (flag_next_runtime == 1 && flag_objc_abi < 2);
+ gcc_checking_assert (flag_next_runtime >= 1 && flag_objc_abi < 2);
objc_metadata_seen = 1;
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index 7843add..f9d4fec 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -107,7 +107,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* Default to using the NeXT-style runtime, since that's what is
pre-installed on Darwin systems. */
-#define NEXT_OBJC_RUNTIME 1
+#define NEXT_OBJC_RUNTIME 100508
/* Don't default to pcc-struct-return, because gcc is the only compiler, and
we want to retain compatibility with older gcc versions. */