Skip to content

Commit 11b87ac

Browse files
committed
ARM64 improvements
This is a dual of MSVC-PR-407828, which enables lots of ARM64 CI in the internal MSVC repository.
1 parent c1e42b9 commit 11b87ac

File tree

9 files changed

+37
-21
lines changed

9 files changed

+37
-21
lines changed

tests/std/tests/Dev09_056375_locale_cleanup/custombuild.pl

+5-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@
66
sub CustomBuildHook()
77
{
88
my $cwd = Run::GetCWDName();
9-
Run::ExecuteCL("TestDll.cpp /FeTestDll.DLL /link /DLL");
10-
Run::ExecuteCL("Test.cpp /Fe$cwd.exe");
9+
my $machine = $ENV{'TARGET_ARCHITECTURE'};
10+
Run::ExecuteCL("TestDll.cpp /c");
11+
Run::ExecuteLink("/machine:$machine /out:TestDll.DLL /DLL TestDll.obj");
12+
Run::ExecuteCL("Test.cpp /c");
13+
Run::ExecuteLink("/machine:$machine /out:$cwd.exe Test.obj");
1114
}
1215
1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) Microsoft Corporation.
2+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3+
4+
## TRANSITION, VSO-1938218 ASAN is not yet supported on arm64
5+
arm64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) Microsoft Corporation.
2+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3+
4+
## TRANSITION, VSO-1938218 ASAN is not yet supported on arm64
5+
arm64

tests/std/tests/P0226R1_math_special_functions/test.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -260,10 +260,10 @@ void test_cyl_neumann() {
260260
assert(isclose(cyl_neumannf(0.5f, 0.333f), -1.30'671'255'810'072'199f));
261261
assert(isclose(cyl_neumannl(0.5L, 0.333L), -1.30'671'255'810'072'199L, 2));
262262
}
263-
{
264-
assert(isclose(cyl_neumann(0.5, 0.666), -0.768'760'134'281'402'040));
263+
{
264+
assert(isclose(cyl_neumann(0.5, 0.666), -0.768'760'134'281'402'040, 2));
265265
assert(isclose(cyl_neumannf(0.5f, 0.666f), -0.768'760'134'281'402'040f));
266-
assert(isclose(cyl_neumannl(0.5L, 0.666L), -0.768'760'134'281'402'040L));
266+
assert(isclose(cyl_neumannl(0.5L, 0.666L), -0.768'760'134'281'402'040L, 2));
267267
}
268268
}
269269

tests/std/tests/P0881R7_stacktrace/test.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,8 @@ void test_impl() {
311311
}
312312

313313
int main() {
314+
#if !(defined(__clang__) && defined(_M_ARM64)) // TRANSITION, LLVM-74530
314315
jthread t{test_impl};
315316
test_impl();
317+
#endif
316318
}

tests/std/tests/usual_17_matrix.lst

+5-5
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ PM_CL="/BE /c /EHsc /MD /std:c++latest /permissive-"
4747
PM_CL="/BE /c /EHsc /MDd /std:c++17 /permissive-"
4848
PM_CL="/BE /c /EHsc /MT /std:c++20 /permissive-"
4949
PM_CL="/BE /c /EHsc /MTd /std:c++latest /permissive-"
50-
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++latest /permissive-"
51-
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MDd /std:c++17"
52-
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MT /std:c++20 /permissive-"
53-
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MTd /std:c++latest /permissive- /fp:strict"
54-
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 -fsanitize=undefined -fno-sanitize-recover=undefined"
50+
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++latest /permissive- --start-no-unused-arguments"
51+
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MDd /std:c++17 --start-no-unused-arguments"
52+
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MT /std:c++20 /permissive- --start-no-unused-arguments"
53+
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MTd /std:c++latest /permissive- /fp:strict --start-no-unused-arguments"
54+
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 -fsanitize=undefined -fno-sanitize-recover=undefined --start-no-unused-arguments"

tests/std/tests/usual_20_matrix.lst

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ PM_CL="/clr /MD /std:c++20"
3535
PM_CL="/clr /MDd /std:c++20"
3636
PM_CL="/BE /c /EHsc /MD /std:c++20 /permissive-"
3737
PM_CL="/BE /c /EHsc /MTd /std:c++latest /permissive-"
38-
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /std:c++20 /permissive- /MD"
39-
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"
40-
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"
38+
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /std:c++20 /permissive- /MD --start-no-unused-arguments"
39+
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 --start-no-unused-arguments"
40+
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 --start-no-unused-arguments"

tests/std/tests/usual_latest_matrix.lst

+3-3
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,6 @@ PM_CL="/MTd /D_ITERATOR_DEBUG_LEVEL=2 /permissive- /analyze:only /analyze:autolo
3333
ASAN PM_CL="/MTd /permissive- /analyze:only /analyze:autolog- -fsanitize=address /Zi" PM_LINK="/debug"
3434
PM_CL="/BE /c /MD /permissive-"
3535
PM_CL="/BE /c /MTd /permissive-"
36-
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /permissive- /MD"
37-
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /permissive- /MTd /fp:strict"
38-
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /permissive- /MT /fp:strict -fsanitize=undefined -fno-sanitize-recover=undefined"
36+
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /permissive- /MD --start-no-unused-arguments"
37+
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /permissive- /MTd /fp:strict --start-no-unused-arguments"
38+
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /permissive- /MT /fp:strict -fsanitize=undefined -fno-sanitize-recover=undefined --start-no-unused-arguments"

tests/std/tests/usual_matrix.lst

+6-5
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@ PM_CL="/BE /c /EHsc /MD /std:c++14 /w14640 /Zc:threadSafeInit-"
4949
PM_CL="/BE /c /EHsc /MDd /std:c++17 /permissive- /w14640 /Zc:threadSafeInit-"
5050
PM_CL="/BE /c /EHsc /MT /std:c++20 /permissive- /w14640 /Zc:threadSafeInit-"
5151
PM_CL="/BE /c /EHsc /MTd /std:c++latest /permissive- /w14640 /Zc:threadSafeInit-"
52-
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++14 /w14640 /Zc:threadSafeInit-"
53-
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MDd /std:c++17 /w14640 /Zc:threadSafeInit-"
54-
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MT /std:c++20 /permissive- /w14640 /Zc:threadSafeInit-"
55-
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MTd /std:c++latest /permissive- /fp:strict /w14640 /Zc:threadSafeInit-"
56-
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 /w14640 /Zc:threadSafeInit- -fsanitize=undefined -fno-sanitize-recover=undefined"
52+
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++14 /w14640 /Zc:threadSafeInit- --start-no-unused-arguments"
53+
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MDd /std:c++17 /w14640 /Zc:threadSafeInit- --start-no-unused-arguments"
54+
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MT /std:c++20 /permissive- /w14640 /Zc:threadSafeInit- --start-no-unused-arguments"
55+
PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MTd /std:c++latest /permissive- /fp:strict /w14640 /Zc:threadSafeInit- --start-no-unused-arguments"
56+
# TRANSITION, GH-3568
57+
# 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 /w14640 /Zc:threadSafeInit- -fsanitize=undefined -fno-sanitize-recover=undefined --start-no-unused-arguments"

0 commit comments

Comments
 (0)