summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuentin Colombet <qcolombet@apple.com>2014-01-08 01:02:06 +0000
committerQuentin Colombet <qcolombet@apple.com>2014-01-08 01:02:06 +0000
commit528ea638044bc406395ccd59dc81a4ff14657f6e (patch)
treeeefab1134349c576c089addeb1707e3e6d8ae2d3
parent649c7b069f53596e2c651d6524cf7c6621e3d565 (diff)
downloadbcm5719-llvm-528ea638044bc406395ccd59dc81a4ff14657f6e.tar.gz
bcm5719-llvm-528ea638044bc406395ccd59dc81a4ff14657f6e.zip
[Driver] Fix a typo in the setting of the arch name when -arch x86_64h is used.
<rdar://problem/15711488> llvm-svn: 198722
-rw-r--r--clang/lib/Driver/Driver.cpp2
-rw-r--r--clang/test/Driver/darwin-ld.c9
2 files changed, 10 insertions, 1 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index afe26dbf5c1..745497f9e2d 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -1879,7 +1879,7 @@ static llvm::Triple computeTargetTriple(StringRef DefaultTargetTriple,
// Handle the Darwin '-arch' flag.
if (Arg *A = Args.getLastArg(options::OPT_arch)) {
if (StringRef(A->getValue()) == "x86_64h")
- Target.setArchName(DarwinArchName);
+ Target.setArchName(A->getValue());
else {
llvm::Triple::ArchType DarwinArch
= tools::darwin::getArchTypeForDarwinArchName(A->getValue());
diff --git a/clang/test/Driver/darwin-ld.c b/clang/test/Driver/darwin-ld.c
index a3f9a7f0cd1..1675fe6bb88 100644
--- a/clang/test/Driver/darwin-ld.c
+++ b/clang/test/Driver/darwin-ld.c
@@ -148,3 +148,12 @@
//
// LINK_X86_64H_ARCH: {{ld(.exe)?"}}
// LINK_X86_64H_ARCH: "x86_64h"
+
+// RUN: %clang -target x86_64-apple-darwin -arch x86_64 -arch x86_64h -### %t.o 2> %t.log
+// RUN: FileCheck -check-prefix=LINK_X86_64H_MULTIARCH %s < %t.log
+//
+// LINK_X86_64H_MULTIARCH: {{ld(.exe)?"}}
+// LINK_X86_64H_MULTIARCH: "x86_64"
+//
+// LINK_X86_64H_MULTIARCH: {{ld(.exe)?"}}
+// LINK_X86_64H_MULTIARCH: "x86_64h"
OpenPOWER on IntegriCloud