[PATCH] D111269: [clang][Driver] Make multiarch output file basenames reproducible
Keith Smiley via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Oct 13 17:46:56 PDT 2021
keith updated this revision to Diff 379570.
keith added a comment.
Fix windows test paths
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D111269/new/
https://reviews.llvm.org/D111269
Files:
clang/lib/Driver/Driver.cpp
clang/test/Driver/darwin-dsymutil.c
Index: clang/test/Driver/darwin-dsymutil.c
===================================================================
--- clang/test/Driver/darwin-dsymutil.c
+++ clang/test/Driver/darwin-dsymutil.c
@@ -42,6 +42,16 @@
// CHECK-OUTPUT-NAME: "x86_64-apple-darwin10" - "darwin::Linker", inputs: [{{.*}}], output: "[[outfile]]"
// CHECK-OUTPUT-NAME: "x86_64-apple-darwin10" - "darwin::Dsymutil", inputs: ["[[outfile]]"], output: "[[dsymfile]]"
+// Check output name derivation for multiple -arch options.
+//
+// RUN: %clang -target x86_64-apple-darwin10 \
+// RUN: -arch x86_64 -arch arm64 -ccc-print-bindings %s 2> %t
+// RUN: FileCheck --check-prefix=CHECK-MULTIARCH-OUTPUT-NAME < %t %s
+//
+// CHECK-MULTIARCH-OUTPUT-NAME: "x86_64-apple-darwin10" - "darwin::Linker", inputs: ["{{.*}}{{/|\\}}darwin-dsymutil-x86_64.o"], output: "{{.*}}{{/|\\}}darwin-dsymutil-x86_64.out"
+// CHECK-MULTIARCH-OUTPUT-NAME: "arm64-apple-darwin10" - "darwin::Linker", inputs: ["{{.*}}{{/|\\}}darwin-dsymutil-arm64.o"], output: "{{.*}}{{/|\\}}darwin-dsymutil-arm64.out"
+// CHECK-MULTIARCH-OUTPUT-NAME: "arm64-apple-darwin10" - "darwin::Lipo", inputs: ["{{.*}}{{/|\\}}darwin-dsymutil-x86_64.out", "{{.*}}{{/|\\}}darwin-dsymutil-arm64.out"], output: "a.out"
+
// Check that we only use dsymutil when needed.
//
// RUN: touch %t.o
Index: clang/lib/Driver/Driver.cpp
===================================================================
--- clang/lib/Driver/Driver.cpp
+++ clang/lib/Driver/Driver.cpp
@@ -4961,7 +4961,13 @@
return "";
}
} else {
- TmpName = GetTemporaryPath(Split.first, Suffix);
+ if (MultipleArchs && !BoundArch.empty()) {
+ TmpName = GetTemporaryDirectory(Split.first);
+ llvm::sys::path::append(TmpName,
+ Split.first + "-" + BoundArch + "." + Suffix);
+ } else {
+ TmpName = GetTemporaryPath(Split.first, Suffix);
+ }
}
return C.addTempFile(C.getArgs().MakeArgString(TmpName));
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D111269.379570.patch
Type: text/x-patch
Size: 1981 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20211014/02078a19/attachment.bin>
More information about the cfe-commits
mailing list