[PATCH] D147444: [asan][test][win] Port more tests to not use clang-cl on MinGW

Martin Storsjö via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 4 11:20:30 PDT 2023


mstorsjo added inline comments.


================
Comment at: compiler-rt/test/asan/TestCases/Windows/crt_initializers.cpp:1
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %s -Fe%t
+// RUN: %if clang-cl %{ %clang_cl_asan -Od %s -Fe%t %} \
+// RUN: %else %{ %clangxx_asan -O0 %s -o %t %}
----------------
alvinhochun wrote:
> vitalybuka wrote:
> > I believe it would be much cleaner if done substituting: llvm-project/compiler-rt/test/asan/lit.cfg.py:163
> > 
> I don't know how one could use substitution for this, since clang and clang-cl use very different command line parameters (especially problematic for the more complex DLL tests which I have yet to port).
> 
> Or do you mean using substitution to turn certain `RUN:` commands into comments? Like:
> 
> ```
> // RUN: %if_clang_cl %clang_cl_asan -Od %s -Fe%t
> // RUN: %if_not_clang_cl %clangxx_asan -O0 %s -o %t
> ```
> 
> ...and conditionally substituting one of `%if_clang_cl` and `%if_not_clang_cl` to be `:` and the other one to be empty?
You could make one substitution for `-Fe` or `-o ` (note, including the trailing space), another one for `-O0` vs `-Od` etc.

Sorry if it’s obvious if I haven’t followed closely enough, but would it be possible to port the tests to use the gcc driver syntax even with clang in msvc mode? (I understand that that would be a bigger undertaking though.) Or are these tests executed with cl.exe too, so we need to remain compatible with that syntax anyway?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D147444/new/

https://reviews.llvm.org/D147444



More information about the llvm-commits mailing list