================
@@ -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

Reply via email to