diff options
author | Mehdi Amini <mehdi.amini@apple.com> | 2017-01-24 18:15:21 +0000 |
---|---|---|
committer | Mehdi Amini <mehdi.amini@apple.com> | 2017-01-24 18:15:21 +0000 |
commit | 04e1a0a171cc94480eb1dee563b1974045193916 (patch) | |
tree | 9f940b397561c6e96a2a40411365857ac4360675 | |
parent | 6683e22c25adeeab166413a17c362359747978ec (diff) | |
download | bcm5719-llvm-04e1a0a171cc94480eb1dee563b1974045193916.tar.gz bcm5719-llvm-04e1a0a171cc94480eb1dee563b1974045193916.zip |
Forward -bitcode_process_mode to ld64 in marker-only mode
Reviewers: steven_wu
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D29066
llvm-svn: 292961
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 8 | ||||
-rw-r--r-- | clang/test/Driver/embed-bitcode.c | 7 |
2 files changed, 13 insertions, 2 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 1a511adc282..c78123b236d 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -8435,9 +8435,13 @@ void darwin::Linker::AddLinkArgs(Compilation &C, const ArgList &Args, // for embed-bitcode, use -bitcode_bundle in linker command if (C.getDriver().embedBitcodeEnabled()) { // Check if the toolchain supports bitcode build flow. - if (MachOTC.SupportsEmbeddedBitcode()) + if (MachOTC.SupportsEmbeddedBitcode()) { CmdArgs.push_back("-bitcode_bundle"); - else + if (C.getDriver().embedBitcodeMarkerOnly() && Version[0] >= 278) { + CmdArgs.push_back("-bitcode_process_mode"); + CmdArgs.push_back("marker"); + } + } else D.Diag(diag::err_drv_bitcode_unsupported_on_toolchain); } diff --git a/clang/test/Driver/embed-bitcode.c b/clang/test/Driver/embed-bitcode.c index 6606a1c3027..58b90b0ca63 100644 --- a/clang/test/Driver/embed-bitcode.c +++ b/clang/test/Driver/embed-bitcode.c @@ -34,6 +34,13 @@ // CHECK-LTO-NOT: warning: argument unused during compilation: '-fembed-bitcode' // CHECK-LTO-NOT: -cc1 // CHECK-LTO-NOT: -fembed-bitcode=all +// RUN: touch %t.o +// RUN: %clang %t.o -fembed-bitcode -fembed-bitcode-marker -mlinker-version=277 2>&1 -### | FileCheck %s -check-prefix=CHECK-LTO-MARKER-277 +// RUN: %clang %t.o -fembed-bitcode -fembed-bitcode-marker -mlinker-version=278 2>&1 -### | FileCheck %s -check-prefix=CHECK-LTO-MARKER-278 +// CHECK-LTO-MARKER-277-NOT: bitcode_process_mode +// CHECK-LTO-MARKER-278: bitcode_process_mode + + // RUN: %clang -c %s -fembed-bitcode-marker -fintegrated-as 2>&1 -### | FileCheck %s -check-prefix=CHECK-MARKER // CHECK-MARKER: -cc1 |