aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Mentovai <mark@mentovai.com>2022-06-10 15:56:42 +0100
committerIain Sandoe <iain@sandoe.co.uk>2022-06-12 23:20:57 +0100
commit6725f186cb70d48338f69456864bf469a12ee5be (patch)
tree219fd33438c2957c8f463b5996cb31740281690f
parentff500e1cf16d95d9400da6b7d11020f5cb8524ad (diff)
downloadgcc-6725f186cb70d48338f69456864bf469a12ee5be.zip
gcc-6725f186cb70d48338f69456864bf469a12ee5be.tar.gz
gcc-6725f186cb70d48338f69456864bf469a12ee5be.tar.bz2
Darwin: Future-proof -mmacosx-version-min
f18cbc1ee1f4 (2021-12-18) updated various parts of gcc to not impose a Darwin or macOS version maximum of the current known release. Different parts of gcc accept, variously, Darwin version numbers matching darwin2*, and macOS major version numbers up to 99. The current released version is Darwin 21 and macOS 12, with Darwin 22 and macOS 13 expected for public release later this year. With one major OS release per year, this strategy is expected to provide another 8 years of headroom. However, f18cbc1ee1f4 missed config/darwin-c.c (now .cc), which continued to impose a maximum of macOS 12 on the -mmacosx-version-min compiler driver argument. This was last updated from 11 to 12 in 11b967577483 (2021-10-27), but kicking the can down the road one year at a time is not a viable strategy, and is not in line with the more recent technique from f18cbc1ee1f4. Prior to 556ab5125912 (2020-11-06), config/darwin-c.c did not impose a maximum that needed annual maintenance, as at that point, all macOS releases had used a major version of 10. The stricter approach imposed since then was valuable for a time until the particulars of the new versioning scheme were established and understood, but now that they are, it's prudent to restore a more permissive approach. gcc/ChangeLog: * config/darwin-c.cc: Make -mmacosx-version-min more future-proof. Signed-off-by: Mark Mentovai <mark@mentovai.com>
-rw-r--r--gcc/config/darwin-c.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/darwin-c.cc b/gcc/config/darwin-c.cc
index 9203c84..1f82b36 100644
--- a/gcc/config/darwin-c.cc
+++ b/gcc/config/darwin-c.cc
@@ -691,7 +691,8 @@ macosx_version_as_macro (void)
if (!version_array)
goto fail;
- if (version_array[MAJOR] < 10 || version_array[MAJOR] > 12)
+ /* System tools accept up to 99 as a major version. */
+ if (version_array[MAJOR] < 10 || version_array[MAJOR] > 99)
goto fail;
if (version_array[MAJOR] == 10 && version_array[MINOR] < 10)