================ @@ -0,0 +1,13 @@ +// This test checks if Window PE file compiled with -flto option contains a magic +// string "LTCG" to indicate LTO compilation. + +// REQUIRES: system-windows + +// RUN: %clang --target=x86_64-pc-windows-msvc -flto -fuse-ld=lld %s -o %t.exe ---------------- mikolaj-pirog wrote:
> Note that this test as such doesn't fit the testing separation within LLVM. > > As it stands, this test does compilation with Clang, linking with LLD, and > inspects the results. > > This is generally not allowed in Clang tests. A Clang test normally should > only test that producing LLVM IR works correctly. An LLVM level test can test > that IR -> object files does the right thing. And an LLD test can test that > object file -> executable does the right thing. > > But there's in general no guarantee that e.g. LLD is available while testing > Clang, or that you have the right headers/libraries that might be expected > while compiling. (In this case, the generated object files can end up > requiring `msvcrt.lib` or `libcmt.lib` or similar libraries that aren't > available in general, when cross compiling.) My intention was to create a holistic test that tests the feature from clang invocation to checking that magic strings are emitted. I already have a lld tests; I will change the pgi/pgu to be solely a clang test, checking for .pgi/.pgu section existence. For LTO case, I need to do this this way, since I have to test that lld emits "LTCG" when given an LTOed object file. Do you have any suggestions where could I move this test? Would moving the "LTCG" test to lld be OK? https://github.com/llvm/llvm-project/pull/114260 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits