lo1ol added a comment. Ok, I get current situation.
Sorry for my late answer. I made some investigation yesterday and compared msvc and clang versions of asan. In my tests msvc version seems more stable. All my tests is written via catch2 framework (v2.13.8). So, first example is: #define CATCH_CONFIG_MAIN #include <catch2/catch.hpp> #include <iostream> TEST_CASE( "kek" ) { for (int i=0; i < 10; ++i) { printf("lol ke\n"); free(malloc(4472)); } } If compiles it via msvc version of asan, everything is ok: # copy MSVC\14.29.30133\lib\x64 to Llvm\x64\lib\clang\12.0.0\lib\windows before $ clang-cl kek.cpp -I ..\Catch2\single_include /MT -fsanitize=address $ kek.exe lol ke lol ke lol ke lol ke lol ke lol ke lol ke lol ke lol ke lol ke =============================================================================== test cases: 1 | 1 passed assertions: - none - But version for clang's toolchain has strange behavior: # With original content of Llvm\x64\lib\clang\12.0.0\lib\windows $ clang-cl kek.cpp -I ..\Catch2\single_include /MT -fsanitize=address $ kek.exe lol ke lol ke lol ke lol ke lol ke ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ... Nevertheless, I found some bug which presents inside both versions #define CATCH_CONFIG_MAIN #include <catch2/catch.hpp> #include <iostream> #include <future> TEST_CASE( "kek" ) { auto result = std::async(std::launch::async, []() { std::cerr << "kek " << std::endl; }); result.get(); } The output is same for both versions: $ clang-cl kek.cpp -I ..\Catch2\single_include /MT -fsanitize=address $ kek.exe ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ... I don't have a time to discover a root of problem. But msvc's version of asan seems to me more stable and compatible with clang's asan. So, may be there is point to distribute same version of asan for both toolchains. If you want, I may create an issue for founded bugs. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D119711/new/ https://reviews.llvm.org/D119711 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits