diff options
-rw-r--r-- | clang/lib/Driver/Driver.cpp | 2 | ||||
-rw-r--r-- | clang/test/Driver/darwin-ld.c | 9 |
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" |