FYI, doesn’t look good to me, cf what I described on the other thread. > On Nov 21, 2016, at 9:51 PM, Nico Weber <tha...@chromium.org> wrote: > > Lgtm, works for me. Seems like a good compromise. > > > On Nov 21, 2016 6:29 PM, "Reid Kleckner" <r...@google.com > <mailto:r...@google.com>> wrote: > rnk created this revision. > rnk added reviewers: mehdi_amini, thakis. > rnk added a subscriber: cfe-commits. > > Without -flto, it's unlikely that users will experience LLVM version > skew. The system installation of libLTO should be able to handle any > pre-compiled LLVM bitcode from static archives. > > > https://reviews.llvm.org/D26944 <https://reviews.llvm.org/D26944> > > Files: > lib/Driver/Tools.cpp > test/Driver/darwin-ld-lto.c > > > Index: test/Driver/darwin-ld-lto.c > =================================================================== > --- test/Driver/darwin-ld-lto.c > +++ test/Driver/darwin-ld-lto.c > @@ -1,5 +1,3 @@ > -// REQUIRES: system-darwin > - > // Check that ld gets "-lto_library" and warnings about libLTO.dylib path. > > // RUN: mkdir -p %T/bin > @@ -12,12 +10,20 @@ > // LINK_LTOLIB_PATH: {{ld(.exe)?"}} > // LINK_LTOLIB_PATH: "-lto_library" > > -// RUN: %clang -target x86_64-apple-darwin10 -### %s \ > +// Only warn if -flto is on the command line. > +// > +// RUN: %clang -target x86_64-apple-darwin10 -### %s -flto \ > // 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 > > +// Don't warn if -flto isn't present of -Wno-liblto is present. > +// > +// RUN: %clang -target x86_64-apple-darwin10 -### %s \ > +// RUN: -ccc-install-dir %S/dummytestdir -mlinker-version=133 2> %t.log > +// RUN: FileCheck -check-prefix=LINK_LTOLIB_PATH_NOWRN %s -input-file %t.log > +// > // RUN: %clang -target x86_64-apple-darwin10 -### %s \ > // 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 > Index: lib/Driver/Tools.cpp > =================================================================== > --- lib/Driver/Tools.cpp > +++ lib/Driver/Tools.cpp > @@ -8232,7 +8232,9 @@ > if (llvm::sys::fs::exists(LibLTOPath)) { > CmdArgs.push_back("-lto_library"); > CmdArgs.push_back(C.getArgs().MakeArgString(LibLTOPath)); > - } else { > + } else if (D.isUsingLTO()) { > + // Warn if we're using LTO with the system version of libLTO. It might > not > + // understand LLVM bitcode generated by our version of LLVM. > D.Diag(diag::warn_drv_lto_libpath); > } > } > >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits