diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 3be6f48c49c..6fd4c81e2f7 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -715,6 +715,11 @@ Job *darwin::Linker::constructJob(const JobAction &JA, Arguments.push_back("-application_extension"); } + if (Args.hasArg(options::OPT_embed_bitcode, + options::OPT_embed_bitcode_marker)) { + Arguments.push_back("-bitcode_bundle"); + } + if (!OI.SDKPath.empty()) { Arguments.push_back("-syslibroot"); Arguments.push_back(Args.MakeArgString(OI.SDKPath)); diff --git a/test/Driver/embed-bitcode.swift b/test/Driver/embed-bitcode.swift index d96b0d3943c..75c0b6ea234 100644 --- a/test/Driver/embed-bitcode.swift +++ b/test/Driver/embed-bitcode.swift @@ -13,14 +13,18 @@ // CHECK-FRONT: -emit-bc // CHECK-FRONT: -frontend // CHECK-FRONT: -c -// CHECK-FRONT: -embed-bitcode +// CHECK-FRONT: -embed-bitcode{{ }} // CHECK-FRONT: -disable-llvm-optzns +// CHECK-FRONT: ld{{"? }} +// CHECK-FRONT: -bitcode_bundle // RUN: %target-swiftc_driver -embed-bitcode-marker %s 2>&1 -### | FileCheck %s -check-prefix=CHECK-MARKER // CHECK-MARKER: -frontend // CHECK-MARKER: -c // CHECK-MARKER: -embed-bitcode-marker // CHECK-MARKER-NOT: -frontend +// CHECK-MARKER: ld{{"? }} +// CHECK-MARKER: -bitcode_bundle // RUN: %target-swiftc_driver -embed-bitcode -Xcc -DDEBUG -Xllvm -fake-llvm-option -c -emit-module %s 2>&1 -### | FileCheck %s -check-prefix=CHECK-MODULE // CHECK-MODULE: -frontend