[PATCH] D48849: [Driver][Darwin] Use Host Triple to infer target os version
Steven Wu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Jul 2 15:36:42 PDT 2018
steven_wu updated this revision to Diff 153816.
steven_wu added a comment.
Rebase the commit correctly
Repository:
rC Clang
https://reviews.llvm.org/D48849
Files:
lib/Driver/ToolChains/Darwin.cpp
test/Driver/clang-g-opts.c
Index: test/Driver/clang-g-opts.c
===================================================================
--- test/Driver/clang-g-opts.c
+++ test/Driver/clang-g-opts.c
@@ -3,7 +3,7 @@
// RUN: | FileCheck --check-prefix=CHECK-WITH-G %s
// Assert that the toolchains which should default to a lower Dwarf version do so.
-// RUN: %clang -### -S %s -g -target x86_64-apple-darwin 2>&1 \
+// RUN: %clang -### -S %s -g -target x86_64-apple-darwin8 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-WITH-G-DWARF2 %s
// RUN: %clang -### -S %s -g -target i686-pc-openbsd 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-WITH-G-DWARF2 %s
@@ -21,7 +21,7 @@
//
// RUN: %clang -### -S %s -g0 -g -target x86_64-linux-gnu 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-WITH-G %s
-// RUN: %clang -### -S %s -g0 -g -target x86_64-apple-darwin 2>&1 \
+// RUN: %clang -### -S %s -g0 -g -target x86_64-apple-darwin8 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-WITH-G-STANDALONE %s
// RUN: %clang -### -S %s -g0 -g -target i686-pc-openbsd 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-WITH-G-DWARF2 %s
Index: lib/Driver/ToolChains/Darwin.cpp
===================================================================
--- lib/Driver/ToolChains/Darwin.cpp
+++ lib/Driver/ToolChains/Darwin.cpp
@@ -1512,9 +1512,18 @@
else if (MachOArchName == "armv7k")
OSTy = llvm::Triple::WatchOS;
else if (MachOArchName != "armv6m" && MachOArchName != "armv7m" &&
- MachOArchName != "armv7em")
+ MachOArchName != "armv7em") {
+ // Default to macOS for other architectures.
OSTy = llvm::Triple::MacOSX;
+ // If there is no version specified on triple, and both host and target are
+ // macos, use the host triple to infer OS version.
+ llvm::Triple SystemTriple(llvm::sys::getProcessTriple());
+ if (SystemTriple.isMacOSX() && !Triple.getOSMajorVersion())
+ return DarwinPlatform::createFromArch(
+ OSTy, getOSVersion(OSTy, SystemTriple, TheDriver));
+ }
+
if (OSTy == llvm::Triple::UnknownOS)
return None;
return DarwinPlatform::createFromArch(OSTy,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D48849.153816.patch
Type: text/x-patch
Size: 2169 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180702/11610ec9/attachment-0001.bin>
More information about the cfe-commits
mailing list