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
39 changes: 39 additions & 0 deletions azure-devops/asan-pipeline.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Build STL targeting x86 and x64, and run extra ASan testing

variables:
tmpDir: 'D:\Temp'
buildOutputLocation: 'D:\build'
# Restrict to "stlasan" test
testSelection: '-R stlasan'

pool:
name: 'StlBuild-2023-09-14T1251-Pool'
demands: EnableSpotVM -equals true
Comment thread
CaseyCarter marked this conversation as resolved.

pr: none

stages:
- stage: Build_And_Test_x64
displayName: 'Build and Test'
jobs:
- template: native-build-test.yml
parameters:
targetPlatform: x64
vsDevCmdArch: amd64
benchmarkBuildOutputLocationVar: ''
testSelection: ${{ variables.testSelection }}

- stage: Build_And_Test_x86
displayName: 'Build and Test'
jobs:
- template: native-build-test.yml
parameters:
targetPlatform: x86
vsDevCmdArch: x86
benchmarkBuildOutputLocationVar: ''
testSelection: ${{ variables.testSelection }}

# no coverage for ARM and ARM64
2 changes: 2 additions & 0 deletions azure-devops/cross-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,5 @@ jobs:
targetPlatform: ${{ parameters.targetPlatform }}
targetArch: ${{ parameters.vsDevCmdArch }}
displayName: 'Build Tests'
# Exclude "stlasan" test (we don't yet support ASAN on ARM or ARM64)
testSelection: '-E stlasan'
Comment thread
CaseyCarter marked this conversation as resolved.
7 changes: 7 additions & 0 deletions azure-devops/native-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ parameters:
- name: numShards
type: number
default: 8
# Parameters to pass to ctest to select the test(s) to run
- name: testSelection
type: string
# Exclude "stlasan" test by default
default: '-E stlasan'
jobs:
- job: '${{ parameters.targetPlatform }}'
variables:
Expand All @@ -38,8 +43,10 @@ jobs:
targetPlatform: ${{ parameters.targetPlatform }}
targetArch: ${{ parameters.vsDevCmdArch }}
hostArch: ${{ parameters.vsDevCmdArch }}
benchmarkBuildOutputLocationVar: ${{ parameters.benchmarkBuildOutputLocationVar }}
- template: run-tests.yml
parameters:
hostArch: ${{ parameters.vsDevCmdArch }}
targetPlatform: ${{ parameters.targetPlatform }}
targetArch: ${{ parameters.vsDevCmdArch }}
testSelection: ${{ parameters.testSelection }}
5 changes: 4 additions & 1 deletion azure-devops/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ parameters:
- name: displayName
type: string
default: 'Run Tests'
# Parameters to pass to ctest to select the test(s) to run
- name: testSelection
type: string
steps:
- task: CmdLine@2
displayName: ${{ parameters.displayName }}
Expand All @@ -24,7 +27,7 @@ steps:
script: |
call "%ProgramFiles%\Microsoft Visual Studio\2022\Preview\Common7\Tools\VsDevCmd.bat" ^
-host_arch=${{ parameters.hostArch }} -arch=${{ parameters.targetArch }} -no_logo
ctest -V
ctest -V ${{ parameters.testSelection }}
env: { TMP: $(tmpDir), TEMP: $(tmpDir) }
- task: PublishTestResults@2
displayName: 'Publish Tests'
Expand Down
6 changes: 6 additions & 0 deletions tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@ endif()
get_property(STL_LIT_TEST_DIRS GLOBAL PROPERTY STL_LIT_TEST_DIRS)
list(APPEND STL_LIT_COMMAND "${STL_LIT_OUTPUT}"
"${LIT_FLAGS}"
"-D" "notags=ASAN"
"${STL_LIT_TEST_DIRS}")
list(APPEND STLASAN_LIT_COMMAND "${STL_LIT_OUTPUT}"
"${LIT_FLAGS}"
"-D" "tags=ASAN"
"${STL_LIT_TEST_DIRS}")

add_test(NAME stl COMMAND ${Python_EXECUTABLE} ${STL_LIT_COMMAND} COMMAND_EXPAND_LISTS)
add_test(NAME stlasan COMMAND ${Python_EXECUTABLE} ${STLASAN_LIT_COMMAND} COMMAND_EXPAND_LISTS)
129 changes: 114 additions & 15 deletions tests/libcxx/expected_results.txt

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion tests/libcxx/usual_matrix.lst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@

RUNALL_INCLUDE ..\universal_prefix.lst
RUNALL_CROSSLIST
PM_CL="/EHsc /MTd /std:c++latest /permissive- /utf-8 /FImsvc_stdlib_force_include.h /wd4643 /D_STL_CALL_ABORT_INSTEAD_OF_INVALID_PARAMETER"
* PM_CL="/EHsc /MTd /std:c++latest /permissive- /utf-8 /FImsvc_stdlib_force_include.h /wd4643 /D_STL_CALL_ABORT_INSTEAD_OF_INVALID_PARAMETER"
RUNALL_CROSSLIST
PM_CL="/analyze:autolog- /Zc:preprocessor /wd6262"
ASAN PM_CL="-fsanitize=address /Zi" PM_LINK="/debug"
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call"
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

RUNALL_INCLUDE ..\fast_matrix.lst
RUNALL_INCLUDE ..\fast_no_asan_matrix.lst # TRANSITION, VSO-1886547
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@

RUNALL_INCLUDE ..\usual_matrix.lst
RUNALL_CROSSLIST
PM_CL="/D_STL_OPTIMIZE_SYSTEM_ERROR_OPERATORS=0"
PM_CL="/D_STL_OPTIMIZE_SYSTEM_ERROR_OPERATORS=1"
* PM_CL="/D_STL_OPTIMIZE_SYSTEM_ERROR_OPERATORS=0"
* PM_CL="/D_STL_OPTIMIZE_SYSTEM_ERROR_OPERATORS=1"
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@

RUNALL_INCLUDE ..\impure_matrix.lst
RUNALL_CROSSLIST
PM_CL="/D_HAS_EXCEPTIONS=0"
PM_CL="/D_HAS_EXCEPTIONS=1"
* PM_CL="/D_HAS_EXCEPTIONS=0"
* PM_CL="/D_HAS_EXCEPTIONS=1"
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

RUNALL_INCLUDE ..\fast_matrix.lst
RUNALL_INCLUDE ..\fast_no_asan_matrix.lst # TRANSITION, VSO-1886547
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@

RUNALL_INCLUDE ..\usual_17_matrix.lst
RUNALL_CROSSLIST
PM_CL="/D_HAS_EXCEPTIONS=0"
PM_CL="/D_HAS_EXCEPTIONS=1"
* PM_CL="/D_HAS_EXCEPTIONS=0"
* PM_CL="/D_HAS_EXCEPTIONS=1"
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@

RUNALL_INCLUDE ..\concepts_20_matrix.lst
RUNALL_CROSSLIST
PM_CL=""
PM_CL="/D_USE_STD_VECTOR_ALGORITHMS=0"
* PM_CL=""
* PM_CL="/D_USE_STD_VECTOR_ALGORITHMS=0"
15 changes: 14 additions & 1 deletion tests/std/tests/GH_002558_format_presetPadding/env.lst
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,34 @@
# This is concepts_20_matrix.lst + /presetPadding with clang configs disabled (clang-cl doesn't support /presetPadding)
RUNALL_INCLUDE ..\prefix.lst
RUNALL_CROSSLIST
PM_CL="/w14640 /Zc:threadSafeInit- /presetPadding"
* PM_CL="/w14640 /Zc:threadSafeInit- /presetPadding"
RUNALL_CROSSLIST
PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++20 /permissive- /Zc:noexceptTypes-"
ASAN PM_CL="/EHsc /MD /std:c++20 /permissive- /Zc:noexceptTypes- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /permissive-"
ASAN PM_CL="/EHsc /MD /std:c++latest /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /permissive- /Zc:char8_t- /Zc:preprocessor"
ASAN PM_CL="/EHsc /MD /std:c++latest /permissive- /Zc:char8_t- /Zc:preprocessor -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /permissive- /Zc:wchar_t-"
ASAN PM_CL="/EHsc /MDd /std:c++latest /permissive- /Zc:wchar_t- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /permissive-"
ASAN PM_CL="/EHsc /MDd /std:c++latest /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++20 /permissive- /fp:except /Zc:preprocessor"
ASAN PM_CL="/EHsc /MDd /std:c++20 /permissive- /fp:except /Zc:preprocessor -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MT /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /permissive-"
ASAN PM_CL="/EHsc /MT /std:c++latest /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MT /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /permissive- /analyze:only /analyze:autolog-"
ASAN PM_CL="/EHsc /MT /std:c++latest /permissive- /analyze:only /analyze:autolog- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MT /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /permissive-"
# No corresponding ASAN config, since the above differs from another config only in IDL
PM_CL="/EHsc /MTd /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /permissive- /fp:strict"
ASAN PM_CL="/EHsc /MTd /std:c++latest /permissive- /fp:strict -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MTd /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /permissive-"
ASAN PM_CL="/EHsc /MTd /std:c++latest /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MTd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++latest /permissive"
ASAN PM_CL="/EHsc /MTd /std:c++latest /permissive -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MTd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++latest /permissive- /analyze:only /analyze:autolog-"
ASAN PM_CL="/EHsc /MTd /std:c++latest /permissive- /analyze:only /analyze:autolog- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/clr /MD /std:c++20"
PM_CL="/clr /MDd /std:c++20"
# PM_CL="/std:c++20 /permissive- /BE /c /EHsc /MD"
Expand Down
4 changes: 2 additions & 2 deletions tests/std/tests/GH_002711_Zc_alignedNew-/env.lst
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@

RUNALL_INCLUDE ..\impure_matrix.lst
RUNALL_CROSSLIST
PM_CL="/Zc:alignedNew-"
PM_CL="/J"
* PM_CL="/Zc:alignedNew-"
* PM_CL="/J"
2 changes: 1 addition & 1 deletion tests/std/tests/P0067R5_charconv/env.lst
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@

RUNALL_INCLUDE ..\usual_17_matrix.lst
RUNALL_CROSSLIST
PM_CL="/O2 /wd4793"
* PM_CL="/O2 /wd4793"
19 changes: 18 additions & 1 deletion tests/std/tests/P0088R3_variant/env.lst
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,42 @@

RUNALL_INCLUDE ..\prefix.lst
RUNALL_CROSSLIST
PM_CL="/w14640 /Zc:threadSafeInit-"
* PM_CL="/w14640 /Zc:threadSafeInit-"
RUNALL_CROSSLIST
PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /permissive- /Zc:noexceptTypes-"
ASAN PM_CL="/EHsc /MD /std:c++latest /permissive- /Zc:noexceptTypes- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++17 /DCONSTEXPR_NOTHROW /DTEST_PERMISSIVE"
ASAN PM_CL="/EHsc /MD /std:c++17 /DCONSTEXPR_NOTHROW /DTEST_PERMISSIVE -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++20"
ASAN PM_CL="/EHsc /MD /std:c++20 -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /permissive-"
ASAN PM_CL="/EHsc /MD /std:c++latest /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /permissive- /Zc:char8_t- /Zc:preprocessor"
ASAN PM_CL="/EHsc /MD /std:c++latest /permissive- /Zc:char8_t- /Zc:preprocessor -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /permissive- /Zc:wchar_t-"
ASAN PM_CL="/EHsc /MDd /std:c++latest /permissive- /Zc:wchar_t- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /permissive-"
ASAN PM_CL="/EHsc /MDd /std:c++latest /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++latest /permissive- /fp:except /Zc:preprocessor"
ASAN PM_CL="/EHsc /MDd /std:c++latest /permissive- /fp:except /Zc:preprocessor -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++17 /permissive-"
ASAN PM_CL="/EHsc /MDd /std:c++17 /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++20 /permissive-"
ASAN PM_CL="/EHsc /MDd /std:c++20 /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MT /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /permissive-"
ASAN PM_CL="/EHsc /MT /std:c++latest /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MT /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /permissive- /analyze:only /analyze:autolog-"
ASAN PM_CL="/EHsc /MT /std:c++latest /permissive- /analyze:only /analyze:autolog- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MT /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /permissive-"
# No corresponding ASAN config, since the above differs from another config only in IDL
PM_CL="/EHsc /MTd /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /permissive- /fp:strict"
ASAN PM_CL="/EHsc /MTd /std:c++latest /permissive- /fp:strict -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MTd /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /permissive-"
ASAN PM_CL="/EHsc /MTd /std:c++latest /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MTd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++latest /permissive /DCONSTEXPR_NOTHROW /DTEST_PERMISSIVE"
ASAN PM_CL="/EHsc /MTd /std:c++latest /permissive /DCONSTEXPR_NOTHROW /DTEST_PERMISSIVE -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MTd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++latest /permissive- /analyze:only /analyze:autolog-"
ASAN PM_CL="/EHsc /MTd /std:c++latest /permissive- /analyze:only /analyze:autolog- -fsanitize=address /Zi" PM_LINK="/debug"
# With /clr /std:c++20, extreme compiler memory consumption causes test timeouts.
PM_CL="/clr /MD /std:c++17 /DCONSTEXPR_NOTHROW /DTEST_PERMISSIVE"
PM_CL="/clr /MDd /std:c++17 /DCONSTEXPR_NOTHROW /DTEST_PERMISSIVE"
Expand Down
4 changes: 2 additions & 2 deletions tests/std/tests/P0288R9_move_only_function/env.lst
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@

RUNALL_INCLUDE ..\usual_latest_matrix.lst
RUNALL_CROSSLIST
PM_CL="/Zc:alignedNew-"
PM_CL=""
* PM_CL="/Zc:alignedNew-"
* PM_CL=""
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@

RUNALL_INCLUDE ..\concepts_20_matrix.lst
RUNALL_CROSSLIST
PM_CL="/utf-8"
* PM_CL="/utf-8"
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@

RUNALL_INCLUDE ..\usual_20_matrix.lst
RUNALL_CROSSLIST
PM_CL=""
PM_CL="/arch:AVX2"
* PM_CL=""
* PM_CL="/arch:AVX2"
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@

RUNALL_INCLUDE ..\usual_20_matrix.lst
RUNALL_CROSSLIST
PM_CL=""
PM_CL="/arch:AVX2"
* PM_CL=""
* PM_CL="/arch:AVX2"
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,38 @@

RUNALL_INCLUDE ..\prefix.lst
RUNALL_CROSSLIST
PM_CL="/w14640 /Zc:threadSafeInit- /execution-charset:.932"
* PM_CL="/w14640 /Zc:threadSafeInit- /execution-charset:.932"
RUNALL_CROSSLIST
PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++20 /permissive- /Zc:noexceptTypes-"
ASAN PM_CL="/EHsc /MD /std:c++20 /permissive- /Zc:noexceptTypes- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /permissive-"
ASAN PM_CL="/EHsc /MD /std:c++latest /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /permissive- /Zc:char8_t- /Zc:preprocessor"
ASAN PM_CL="/EHsc /MD /std:c++latest /permissive- /Zc:char8_t- /Zc:preprocessor -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /permissive- /Zc:wchar_t-"
ASAN PM_CL="/EHsc /MDd /std:c++latest /permissive- /Zc:wchar_t- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /permissive-"
ASAN PM_CL="/EHsc /MDd /std:c++latest /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MDd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++20 /permissive- /fp:except /Zc:preprocessor"
ASAN PM_CL="/EHsc /MDd /std:c++20 /permissive- /fp:except /Zc:preprocessor -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MT /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /permissive-"
ASAN PM_CL="/EHsc /MT /std:c++latest /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MT /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /permissive- /analyze:only /analyze:autolog-"
ASAN PM_CL="/EHsc /MT /std:c++latest /permissive- /analyze:only /analyze:autolog- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MT /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /permissive-"
# No corresponding ASAN config, since the above differs from another config only in IDL
PM_CL="/EHsc /MTd /D_ITERATOR_DEBUG_LEVEL=0 /std:c++latest /permissive- /fp:strict"
ASAN PM_CL="/EHsc /MTd /std:c++latest /permissive- /fp:strict -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MTd /D_ITERATOR_DEBUG_LEVEL=1 /std:c++latest /permissive-"
ASAN PM_CL="/EHsc /MTd /std:c++latest /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MTd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++latest /permissive"
ASAN PM_CL="/EHsc /MTd /std:c++latest /permissive -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MTd /D_ITERATOR_DEBUG_LEVEL=2 /std:c++latest /permissive- /analyze:only /analyze:autolog-"
ASAN PM_CL="/EHsc /MTd /std:c++latest /permissive- /analyze:only /analyze:autolog- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/clr /MD /std:c++20"
PM_CL="/clr /MDd /std:c++20"
# PM_CL="/std:c++20 /permissive- /BE /c /EHsc /MD"
# PM_CL="/std:c++latest /permissive- /BE /c /EHsc /MTd"
# PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /std:c++20 /permissive- /MD"
# PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /std:c++latest /permissive- /MTd /fp:strict"
# PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /std:c++latest /permissive- /MT /fp:strict -fsanitize=undefined -fno-sanitize-recover=undefined"
2 changes: 1 addition & 1 deletion tests/std/tests/P0645R10_text_formatting_utf8/env.lst
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@

RUNALL_INCLUDE ..\concepts_20_matrix.lst
RUNALL_CROSSLIST
PM_CL="/utf-8"
* PM_CL="/utf-8"
4 changes: 2 additions & 2 deletions tests/std/tests/P0811R3_midpoint_lerp/env.lst
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@

RUNALL_INCLUDE ..\usual_20_matrix.lst
RUNALL_CROSSLIST
PM_CL="/Od"
PM_CL="/O2"
* PM_CL="/Od"
* PM_CL="/O2"
6 changes: 3 additions & 3 deletions tests/std/tests/P0881R7_stacktrace/env.lst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@

RUNALL_INCLUDE ..\usual_latest_matrix.lst
RUNALL_CROSSLIST
PM_CL="/Zi /DHAS_DEBUG_INFO" PM_LINK="/debug"
PM_CL="/DHAS_EXPORT"
PM_CL=""
* PM_CL="/Zi /DHAS_DEBUG_INFO" PM_LINK="/debug"
* PM_CL="/DHAS_EXPORT"
* PM_CL=""
5 changes: 5 additions & 0 deletions tests/std/tests/P0881R7_stacktrace/test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,11 @@ string to_string_using_to_string(const stacktrace& st) {
return to_string(st) + "\n";
}

#if !defined(HAS_DEBUG_INFO) && defined(__SANITIZE_ADDRESS__)
// We always use /Zi with -fsanitize=address
#define HAS_DEBUG_INFO
#endif // ^^^ !defined(HAS_DEBUG_INFO) && defined(__SANITIZE_ADDRESS__) ^^^

#if defined(HAS_DEBUG_INFO) || defined(HAS_EXPORT)
#define HAS_NAMES
#endif // ^^^ defined(HAS_DEBUG_INFO) || defined(HAS_EXPORT) ^^^
Expand Down
16 changes: 16 additions & 0 deletions tests/std/tests/P0912R5_coroutine/env.lst
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,37 @@
RUNALL_INCLUDE ..\prefix.lst
RUNALL_CROSSLIST
PM_CL="/EHsc /MD /await:strict /std:c++14"
ASAN PM_CL="/EHsc /MD /await:strict /std:c++14 -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /await:strict /std:c++14 /permissive-"
ASAN PM_CL="/EHsc /MD /await:strict /std:c++14 /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MTd /await:strict /std:c++14 /permissive- /Zc:preprocessor"
ASAN PM_CL="/EHsc /MTd /await:strict /std:c++14 /permissive- /Zc:preprocessor -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /await:strict /std:c++14 /permissive- /analyze:only /analyze:autolog-"
ASAN PM_CL="/EHsc /MD /await:strict /std:c++14 /permissive- /analyze:only /analyze:autolog- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /await:strict /std:c++17"
ASAN PM_CL="/EHsc /MD /await:strict /std:c++17 -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /await:strict /std:c++17 /permissive-"
ASAN PM_CL="/EHsc /MD /await:strict /std:c++17 /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MTd /await:strict /std:c++17 /permissive- /Zc:preprocessor"
ASAN PM_CL="/EHsc /MTd /await:strict /std:c++17 /permissive- /Zc:preprocessor -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /await:strict /std:c++17 /permissive- /analyze:only /analyze:autolog-"
ASAN PM_CL="/EHsc /MD /await:strict /std:c++17 /permissive- /analyze:only /analyze:autolog- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /std:c++20 /permissive"
ASAN PM_CL="/EHsc /MD /std:c++20 /permissive -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /std:c++20 /permissive-"
ASAN PM_CL="/EHsc /MD /std:c++20 /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MTd /std:c++20 /permissive- /Zc:preprocessor"
ASAN PM_CL="/EHsc /MTd /std:c++20 /permissive- /Zc:preprocessor -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /std:c++20 /permissive- /analyze:only /analyze:autolog-"
ASAN PM_CL="/EHsc /MD /std:c++20 /permissive- /analyze:only /analyze:autolog- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /std:c++latest /permissive"
ASAN PM_CL="/EHsc /MD /std:c++latest /permissive -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /std:c++latest /permissive-"
ASAN PM_CL="/EHsc /MD /std:c++latest /permissive- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MTd /std:c++latest /permissive- /Zc:preprocessor"
ASAN PM_CL="/EHsc /MTd /std:c++latest /permissive- /Zc:preprocessor -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/EHsc /MD /std:c++latest /permissive- /analyze:only /analyze:autolog-"
ASAN PM_CL="/EHsc /MD /std:c++latest /permissive- /analyze:only /analyze:autolog- -fsanitize=address /Zi" PM_LINK="/debug"
PM_CL="/clr /MD /std:c++20"
PM_CL="/clr /MDd /std:c++20"
PM_CL="/BE /c /EHsc /MD /std:c++20 /permissive-"
Expand Down
Loading