> On 2016-Oct-24, at 21:43, Mehdi AMINI <mehdi.am...@apple.com> wrote: > > mehdi_amini created this revision. > mehdi_amini added a reviewer: dexonsmith. > mehdi_amini added a subscriber: cfe-commits. > > We're only doing it with -flto currently, however it never "hurt" > to pass it, and users that are linking without -flto can get in > trouble if one of the dependency (a static library for instance) > contains bitcode.
Seems reasonable. LGTM. > > > https://reviews.llvm.org/D25932 > > Files: > clang/lib/Driver/Tools.cpp > clang/test/Driver/darwin-ld-lto.c > > > Index: clang/test/Driver/darwin-ld-lto.c > =================================================================== > --- clang/test/Driver/darwin-ld-lto.c > +++ clang/test/Driver/darwin-ld-lto.c > @@ -6,20 +6,20 @@ > // RUN: mkdir -p %T/lib > // RUN: touch %T/lib/libLTO.dylib > // RUN: %clang -target x86_64-apple-darwin10 -### %s \ > -// RUN: -ccc-install-dir %T/bin -mlinker-version=133 -flto 2> %t.log > +// RUN: -ccc-install-dir %T/bin -mlinker-version=133 2> %t.log > // RUN: FileCheck -check-prefix=LINK_LTOLIB_PATH %s -input-file %t.log > // > // LINK_LTOLIB_PATH: {{ld(.exe)?"}} > // LINK_LTOLIB_PATH: "-lto_library" > > // RUN: %clang -target x86_64-apple-darwin10 -### %s \ > -// RUN: -ccc-install-dir %S/dummytestdir -mlinker-version=133 -flto 2> > %t.log > +// RUN: -ccc-install-dir %S/dummytestdir -mlinker-version=133 2> %t.log > // RUN: FileCheck -check-prefix=LINK_LTOLIB_PATH_WRN %s -input-file %t.log > // > // LINK_LTOLIB_PATH_WRN: warning: libLTO.dylib relative to clang installed > dir not found; using 'ld' default search path instead > > // RUN: %clang -target x86_64-apple-darwin10 -### %s \ > -// RUN: -ccc-install-dir %S/dummytestdir -mlinker-version=133 -Wno-liblto > -flto 2> %t.log > +// RUN: -ccc-install-dir %S/dummytestdir -mlinker-version=133 -Wno-liblto > 2> %t.log > // RUN: FileCheck -check-prefix=LINK_LTOLIB_PATH_NOWRN %s -input-file %t.log > // > // LINK_LTOLIB_PATH_NOWRN-NOT: warning: libLTO.dylib relative to clang > installed dir not found; using 'ld' default search path instead > Index: clang/lib/Driver/Tools.cpp > =================================================================== > --- clang/lib/Driver/Tools.cpp > +++ clang/lib/Driver/Tools.cpp > @@ -7944,22 +7944,22 @@ > CmdArgs.push_back("-object_path_lto"); > CmdArgs.push_back(TmpPath); > } > + } > > - // Use -lto_library option to specify the libLTO.dylib path. Try to find > - // it in clang installed libraries. If not found, the option is not used > - // and 'ld' will use its default mechanism to search for libLTO.dylib. > - if (Version[0] >= 133) { > - // Search for libLTO in <InstalledDir>/../lib/libLTO.dylib > - StringRef P = llvm::sys::path::parent_path(D.getInstalledDir()); > - SmallString<128> LibLTOPath(P); > - llvm::sys::path::append(LibLTOPath, "lib"); > - llvm::sys::path::append(LibLTOPath, "libLTO.dylib"); > - if (llvm::sys::fs::exists(LibLTOPath)) { > - CmdArgs.push_back("-lto_library"); > - CmdArgs.push_back(C.getArgs().MakeArgString(LibLTOPath)); > - } else { > - D.Diag(diag::warn_drv_lto_libpath); > - } > + // Use -lto_library option to specify the libLTO.dylib path. Try to find > + // it in clang installed libraries. If not found, the option is not used > + // and 'ld' will use its default mechanism to search for libLTO.dylib. > + if (Version[0] >= 133) { > + // Search for libLTO in <InstalledDir>/../lib/libLTO.dylib > + StringRef P = llvm::sys::path::parent_path(D.getInstalledDir()); > + SmallString<128> LibLTOPath(P); > + llvm::sys::path::append(LibLTOPath, "lib"); > + llvm::sys::path::append(LibLTOPath, "libLTO.dylib"); > + if (llvm::sys::fs::exists(LibLTOPath)) { > + CmdArgs.push_back("-lto_library"); > + CmdArgs.push_back(C.getArgs().MakeArgString(LibLTOPath)); > + } else { > + D.Diag(diag::warn_drv_lto_libpath); > } > } > > > > <D25932.75668.patch> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits