Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion stl/inc/xcall_once.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ union _Immortalizer_impl { // constructs _Ty, never destroys
_Ty _Storage;
};

#if defined(_M_CEE) || defined(_M_ARM64EC) || defined(_M_HYBRID)
#if defined(_M_CEE) || defined(_M_ARM64EC) || defined(_M_HYBRID) \
|| defined(__clang__) // TRANSITION, avoid /ALTERNATENAME for Clang, see GH-5224
#define _WINDOWS_API __stdcall
#define _RENAME_WINDOWS_API(_Api) _Api##_clr
#else // ^^^ use forwarders / use /ALTERNATENAME vvv
Expand Down
76 changes: 47 additions & 29 deletions tests/std/tests/GH_002030_asan_annotate_string/env.lst
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,50 @@ RUNALL_INCLUDE ..\prefix.lst
RUNALL_CROSSLIST
PM_CL="/Zi /wd4611 /w14640 /Zc:threadSafeInit-" PM_LINK="/debug"
RUNALL_CROSSLIST
PM_CL="-fsanitize=address"
PM_CL="/D_ANNOTATE_STRING"
RUNALL_CROSSLIST
PM_CL="/BE /c /EHsc /MD /std:c++14"
PM_CL="/BE /c /EHsc /MDd /std:c++17 /permissive-"
PM_CL="/BE /c /EHsc /MT /std:c++20 /permissive-"
PM_CL="/BE /c /EHsc /MTd /std:c++latest /permissive-"
PM_CL="/EHsc /MD /std:c++14"
PM_CL="/EHsc /MD /std:c++14 /Zc:char8_t"
PM_CL="/EHsc /MD /std:c++17"
PM_CL="/EHsc /MD /std:c++17 /Zc:char8_t"
PM_CL="/EHsc /MD /std:c++20"
PM_CL="/EHsc /MD /std:c++latest /permissive- /Zc:char8_t- /Zc:preprocessor"
PM_CL="/EHsc /MD /std:c++latest /permissive- /Zc:noexceptTypes-"
PM_CL="/EHsc /MDd /std:c++14 /fp:except /Zc:preprocessor"
PM_CL="/EHsc /MDd /std:c++17 /permissive-"
PM_CL="/EHsc /MDd /std:c++20 /permissive-"
PM_CL="/EHsc /MDd /std:c++latest /permissive- /Zc:wchar_t-"
PM_CL="/EHsc /MDd /std:c++latest /permissive-"
PM_CL="/EHsc /MT /std:c++latest /permissive- /analyze:only /analyze:autolog-"
PM_CL="/EHsc /MT /std:c++latest /permissive-"
PM_CL="/EHsc /MTd /std:c++latest /permissive"
PM_CL="/EHsc /MTd /std:c++latest /permissive- /analyze:only /analyze:autolog-"
PM_CL="/EHsc /MTd /std:c++latest /permissive- /fp:strict"
PM_CL="/EHsc /MTd /std:c++latest /permissive-"
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++14"
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++17"
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MT /std:c++20 /permissive-"
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MT /std:c++latest /permissive- /fp:strict"
PM_CL="-fsanitize=address /BE /c /EHsc /MD /std:c++14"
PM_CL="-fsanitize=address /BE /c /EHsc /MDd /std:c++17 /permissive-"
PM_CL="-fsanitize=address /BE /c /EHsc /MT /std:c++20 /permissive-"
PM_CL="-fsanitize=address /BE /c /EHsc /MTd /std:c++latest /permissive-"
PM_CL="-fsanitize=address /EHsc /MD /std:c++14"
PM_CL="-fsanitize=address /EHsc /MD /std:c++17"
PM_CL="-fsanitize=address /EHsc /MD /std:c++20"
PM_CL="-fsanitize=address /EHsc /MD /std:c++latest /permissive- /Zc:char8_t- /Zc:preprocessor"
PM_CL="-fsanitize=address /EHsc /MD /std:c++latest /permissive- /Zc:noexceptTypes-"
PM_CL="-fsanitize=address /EHsc /MDd /std:c++14 /fp:except /Zc:preprocessor"
PM_CL="-fsanitize=address /EHsc /MDd /std:c++17 /permissive-"
PM_CL="-fsanitize=address /EHsc /MDd /std:c++20 /permissive-"
PM_CL="-fsanitize=address /EHsc /MDd /std:c++latest /permissive- /Zc:wchar_t-"
PM_CL="-fsanitize=address /EHsc /MDd /std:c++latest /permissive-"
PM_CL="-fsanitize=address /EHsc /MT /std:c++latest /permissive- /analyze:only /analyze:autolog-"
PM_CL="-fsanitize=address /EHsc /MT /std:c++latest /permissive-"
PM_CL="-fsanitize=address /EHsc /MTd /std:c++latest /permissive"
PM_CL="-fsanitize=address /EHsc /MTd /std:c++latest /permissive- /analyze:only /analyze:autolog-"
PM_CL="-fsanitize=address /EHsc /MTd /std:c++latest /permissive- /fp:strict"
PM_CL="-fsanitize=address /EHsc /MTd /std:c++latest /permissive-"
PM_CL="/D_ANNOTATE_STRING /BE /c /EHsc /MD /std:c++14"
PM_CL="/D_ANNOTATE_STRING /BE /c /EHsc /MDd /std:c++17 /permissive-"
PM_CL="/D_ANNOTATE_STRING /BE /c /EHsc /MT /std:c++20 /permissive-"
PM_CL="/D_ANNOTATE_STRING /BE /c /EHsc /MTd /std:c++latest /permissive-"
PM_CL="/D_ANNOTATE_STRING /EHsc /MD /std:c++14"
PM_CL="/D_ANNOTATE_STRING /EHsc /MD /std:c++14 /Zc:char8_t"
PM_CL="/D_ANNOTATE_STRING /EHsc /MD /std:c++17"
PM_CL="/D_ANNOTATE_STRING /EHsc /MD /std:c++17 /Zc:char8_t"
PM_CL="/D_ANNOTATE_STRING /EHsc /MD /std:c++20"
PM_CL="/D_ANNOTATE_STRING /EHsc /MD /std:c++latest /permissive- /Zc:char8_t- /Zc:preprocessor"
PM_CL="/D_ANNOTATE_STRING /EHsc /MD /std:c++latest /permissive- /Zc:noexceptTypes-"
PM_CL="/D_ANNOTATE_STRING /EHsc /MDd /std:c++14 /fp:except /Zc:preprocessor"
PM_CL="/D_ANNOTATE_STRING /EHsc /MDd /std:c++17 /permissive-"
PM_CL="/D_ANNOTATE_STRING /EHsc /MDd /std:c++20 /permissive-"
PM_CL="/D_ANNOTATE_STRING /EHsc /MDd /std:c++latest /permissive- /Zc:wchar_t-"
PM_CL="/D_ANNOTATE_STRING /EHsc /MDd /std:c++latest /permissive-"
PM_CL="/D_ANNOTATE_STRING /EHsc /MT /std:c++latest /permissive- /analyze:only /analyze:autolog-"
PM_CL="/D_ANNOTATE_STRING /EHsc /MT /std:c++latest /permissive-"
PM_CL="/D_ANNOTATE_STRING /EHsc /MTd /std:c++latest /permissive"
PM_CL="/D_ANNOTATE_STRING /EHsc /MTd /std:c++latest /permissive- /analyze:only /analyze:autolog-"
PM_CL="/D_ANNOTATE_STRING /EHsc /MTd /std:c++latest /permissive- /fp:strict"
PM_CL="/D_ANNOTATE_STRING /EHsc /MTd /std:c++latest /permissive-"
# TRANSITION, we don't use /ALTERNATENAME for Clang (see GH-5224) so we cannot test /D_ANNOTATE_STRING without -fsanitize=address
PM_COMPILER="clang-cl" PM_CL="-fsanitize=address -fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++14"
PM_COMPILER="clang-cl" PM_CL="-fsanitize=address -fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++17"
PM_COMPILER="clang-cl" PM_CL="-fsanitize=address -fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MT /std:c++20 /permissive-"
PM_COMPILER="clang-cl" PM_CL="-fsanitize=address -fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MT /std:c++latest /permissive- /fp:strict"
72 changes: 45 additions & 27 deletions tests/std/tests/GH_002030_asan_annotate_vector/env.lst
Original file line number Diff line number Diff line change
Expand Up @@ -8,30 +8,48 @@ RUNALL_INCLUDE ..\prefix.lst
RUNALL_CROSSLIST
PM_CL="/Zi /wd4611 /w14640 /Zc:threadSafeInit-" PM_LINK="/debug"
RUNALL_CROSSLIST
PM_CL="-fsanitize=address"
PM_CL="/D_ANNOTATE_VECTOR"
RUNALL_CROSSLIST
PM_CL="/BE /c /EHsc /MD /std:c++14"
PM_CL="/BE /c /EHsc /MDd /std:c++17 /permissive-"
PM_CL="/BE /c /EHsc /MT /std:c++20 /permissive-"
PM_CL="/BE /c /EHsc /MTd /std:c++latest /permissive-"
PM_CL="/EHsc /MD /std:c++14"
PM_CL="/EHsc /MD /std:c++17"
PM_CL="/EHsc /MD /std:c++20"
PM_CL="/EHsc /MD /std:c++latest /permissive- /Zc:char8_t- /Zc:preprocessor"
PM_CL="/EHsc /MD /std:c++latest /permissive- /Zc:noexceptTypes-"
PM_CL="/EHsc /MDd /std:c++14 /fp:except /Zc:preprocessor"
PM_CL="/EHsc /MDd /std:c++17 /permissive-"
PM_CL="/EHsc /MDd /std:c++20 /permissive-"
PM_CL="/EHsc /MDd /std:c++latest /permissive- /Zc:wchar_t-"
PM_CL="/EHsc /MDd /std:c++latest /permissive-"
PM_CL="/EHsc /MT /std:c++latest /permissive- /analyze:only /analyze:autolog-"
PM_CL="/EHsc /MT /std:c++latest /permissive-"
PM_CL="/EHsc /MTd /std:c++latest /permissive"
PM_CL="/EHsc /MTd /std:c++latest /permissive- /analyze:only /analyze:autolog-"
PM_CL="/EHsc /MTd /std:c++latest /permissive- /fp:strict"
PM_CL="/EHsc /MTd /std:c++latest /permissive-"
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++14"
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++17"
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MT /std:c++20 /permissive-"
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MT /std:c++latest /permissive- /fp:strict"
PM_CL="-fsanitize=address /BE /c /EHsc /MD /std:c++14"
PM_CL="-fsanitize=address /BE /c /EHsc /MDd /std:c++17 /permissive-"
PM_CL="-fsanitize=address /BE /c /EHsc /MT /std:c++20 /permissive-"
PM_CL="-fsanitize=address /BE /c /EHsc /MTd /std:c++latest /permissive-"
PM_CL="-fsanitize=address /EHsc /MD /std:c++14"
PM_CL="-fsanitize=address /EHsc /MD /std:c++17"
PM_CL="-fsanitize=address /EHsc /MD /std:c++20"
PM_CL="-fsanitize=address /EHsc /MD /std:c++latest /permissive- /Zc:char8_t- /Zc:preprocessor"
PM_CL="-fsanitize=address /EHsc /MD /std:c++latest /permissive- /Zc:noexceptTypes-"
PM_CL="-fsanitize=address /EHsc /MDd /std:c++14 /fp:except /Zc:preprocessor"
PM_CL="-fsanitize=address /EHsc /MDd /std:c++17 /permissive-"
PM_CL="-fsanitize=address /EHsc /MDd /std:c++20 /permissive-"
PM_CL="-fsanitize=address /EHsc /MDd /std:c++latest /permissive- /Zc:wchar_t-"
PM_CL="-fsanitize=address /EHsc /MDd /std:c++latest /permissive-"
PM_CL="-fsanitize=address /EHsc /MT /std:c++latest /permissive- /analyze:only /analyze:autolog-"
PM_CL="-fsanitize=address /EHsc /MT /std:c++latest /permissive-"
PM_CL="-fsanitize=address /EHsc /MTd /std:c++latest /permissive"
PM_CL="-fsanitize=address /EHsc /MTd /std:c++latest /permissive- /analyze:only /analyze:autolog-"
PM_CL="-fsanitize=address /EHsc /MTd /std:c++latest /permissive- /fp:strict"
PM_CL="-fsanitize=address /EHsc /MTd /std:c++latest /permissive-"
PM_CL="/D_ANNOTATE_VECTOR /BE /c /EHsc /MD /std:c++14"
PM_CL="/D_ANNOTATE_VECTOR /BE /c /EHsc /MDd /std:c++17 /permissive-"
PM_CL="/D_ANNOTATE_VECTOR /BE /c /EHsc /MT /std:c++20 /permissive-"
PM_CL="/D_ANNOTATE_VECTOR /BE /c /EHsc /MTd /std:c++latest /permissive-"
PM_CL="/D_ANNOTATE_VECTOR /EHsc /MD /std:c++14"
PM_CL="/D_ANNOTATE_VECTOR /EHsc /MD /std:c++17"
PM_CL="/D_ANNOTATE_VECTOR /EHsc /MD /std:c++20"
PM_CL="/D_ANNOTATE_VECTOR /EHsc /MD /std:c++latest /permissive- /Zc:char8_t- /Zc:preprocessor"
PM_CL="/D_ANNOTATE_VECTOR /EHsc /MD /std:c++latest /permissive- /Zc:noexceptTypes-"
PM_CL="/D_ANNOTATE_VECTOR /EHsc /MDd /std:c++14 /fp:except /Zc:preprocessor"
PM_CL="/D_ANNOTATE_VECTOR /EHsc /MDd /std:c++17 /permissive-"
PM_CL="/D_ANNOTATE_VECTOR /EHsc /MDd /std:c++20 /permissive-"
PM_CL="/D_ANNOTATE_VECTOR /EHsc /MDd /std:c++latest /permissive- /Zc:wchar_t-"
PM_CL="/D_ANNOTATE_VECTOR /EHsc /MDd /std:c++latest /permissive-"
PM_CL="/D_ANNOTATE_VECTOR /EHsc /MT /std:c++latest /permissive- /analyze:only /analyze:autolog-"
PM_CL="/D_ANNOTATE_VECTOR /EHsc /MT /std:c++latest /permissive-"
PM_CL="/D_ANNOTATE_VECTOR /EHsc /MTd /std:c++latest /permissive"
PM_CL="/D_ANNOTATE_VECTOR /EHsc /MTd /std:c++latest /permissive- /analyze:only /analyze:autolog-"
PM_CL="/D_ANNOTATE_VECTOR /EHsc /MTd /std:c++latest /permissive- /fp:strict"
PM_CL="/D_ANNOTATE_VECTOR /EHsc /MTd /std:c++latest /permissive-"
# TRANSITION, we don't use /ALTERNATENAME for Clang (see GH-5224) so we cannot test /D_ANNOTATE_VECTOR without -fsanitize=address
PM_COMPILER="clang-cl" PM_CL="-fsanitize=address -fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++14"
PM_COMPILER="clang-cl" PM_CL="-fsanitize=address -fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++17"
PM_COMPILER="clang-cl" PM_CL="-fsanitize=address -fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MT /std:c++20 /permissive-"
PM_COMPILER="clang-cl" PM_CL="-fsanitize=address -fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MT /std:c++latest /permissive- /fp:strict"