[PATCH] D26944: Suppress -Wliblto warning when -flto is not present

Mehdi Amini via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 21 21:52:37 PST 2016


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 <thakis at chromium.org> wrote:
> 
> Lgtm, works for me. Seems like a good compromise.
> 
> 
> On Nov 21, 2016 6:29 PM, "Reid Kleckner" <rnk at google.com <mailto:rnk at 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);
>      }
>    }
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20161121/3af7bc7a/attachment-0001.html>


More information about the cfe-commits mailing list