Skip to content

ARM64/ARM64EC runtime assertions in P0811R3_midpoint_lerp #5685

@StephanTLavavej

Description

@StephanTLavavej

With the latest available Windows 11 SDK (10.0.26100.4188), P0811R3_midpoint_lerp fails assert(check_feexcept(0)) at runtime on ARM64:

{
ExceptGuard except;
assert(bit_cast<float_bit_type>(lerp(2e+38f, 1e+38f, 4.0f)) == bit_cast<float_bit_type>(-2e+38f));
assert(check_feexcept(0));
}

Click to expand test logs for the 2 failing configurations:
C:\GitHub\STL\out\ARM64>python %STL%\tools\scripts\print_failures.py testing_ARM64.log
code: FAIL
name: std :: tests/P0811R3_midpoint_lerp:34
output: Build setup steps:
Build steps:
Command: "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\HostARM64\ARM64\cl.EXE" "C:\GitHub\STL\tests\std\tests\P0811R3_midpoint_lerp\test.cpp" "-IC:\GitHub\STL\out\ARM64\out\inc" "-IC:\GitHub\STL\llvm-project\libcxx\test\support" "-IC:\GitHub\STL\tests\std\include" "/nologo" "/Od" "/W4" "/w14061" "/w14242" "/w14265" "/w14582" "/w14583" "/w14587" "/w14588" "/w14749" "/w14841" "/w14842" "/w15038" "/w15214" "/w15215" "/w15216" "/w15217" "/w15262" "/sdl" "/WX" "/D_ENABLE_STL_INTERNAL_CHECK" "/bigobj" "/FIforce_include.hpp" "/w14365" "/w14668" "/w15267" "/D_ENFORCE_FACET_SPECIALIZATIONS=1" "/w14640" "/Zc:threadSafeInit-" "/EHsc" "/MTd" "/D_ITERATOR_DEBUG_LEVEL=0" "/std:c++latest" "/permissive-" "/fp:strict" "/Od" "-FeC:\GitHub\STL\out\ARM64\tests\std\tests\P0811R3_midpoint_lerp\Output\34\P0811R3_midpoint_lerp.exe" "-link" "-LIBPATH:C:\GitHub\STL\out\ARM64\out\lib\arm64" "-LIBPATH:C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\lib\arm64" "/MANIFEST:EMBED"
Exit Code: 0 (0x0)
Standard Output:
--
test.cpp
--

Intellisense response file steps:
Test setup steps:
Test steps:
Test step failed unexpectedly.
Command: "C:\GitHub\STL\out\ARM64\tests\std\tests\P0811R3_midpoint_lerp\Output\34\P0811R3_midpoint_lerp.exe"
Exit Code: 3 (0x3)
Standard Error:
--
Assertion failed: check_feexcept(0), file C:\GitHub\STL\tests\std\tests\P0811R3_midpoint_lerp\test.cpp, line 1052
abort() has been called--


==================================================
code: FAIL
name: std :: tests/P0811R3_midpoint_lerp:35
output: Build setup steps:
Build steps:
Command: "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\HostARM64\ARM64\cl.EXE" "C:\GitHub\STL\tests\std\tests\P0811R3_midpoint_lerp\test.cpp" "-IC:\GitHub\STL\out\ARM64\out\inc" "-IC:\GitHub\STL\llvm-project\libcxx\test\support" "-IC:\GitHub\STL\tests\std\include" "/nologo" "/Od" "/W4" "/w14061" "/w14242" "/w14265" "/w14582" "/w14583" "/w14587" "/w14588" "/w14749" "/w14841" "/w14842" "/w15038" "/w15214" "/w15215" "/w15216" "/w15217" "/w15262" "/sdl" "/WX" "/D_ENABLE_STL_INTERNAL_CHECK" "/bigobj" "/FIforce_include.hpp" "/w14365" "/w14668" "/w15267" "/D_ENFORCE_FACET_SPECIALIZATIONS=1" "/w14640" "/Zc:threadSafeInit-" "/EHsc" "/MTd" "/D_ITERATOR_DEBUG_LEVEL=0" "/std:c++latest" "/permissive-" "/fp:strict" "/O2" "-FeC:\GitHub\STL\out\ARM64\tests\std\tests\P0811R3_midpoint_lerp\Output\35\P0811R3_midpoint_lerp.exe" "-link" "-LIBPATH:C:\GitHub\STL\out\ARM64\out\lib\arm64" "-LIBPATH:C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\lib\arm64" "/MANIFEST:EMBED"
Exit Code: 0 (0x0)
Standard Output:
--
test.cpp
--
Standard Error:
--
cl : Command line warning D9025 : overriding '/Od' with '/O2'
--

Intellisense response file steps:
Test setup steps:
Test steps:
Test step failed unexpectedly.
Command: "C:\GitHub\STL\out\ARM64\tests\std\tests\P0811R3_midpoint_lerp\Output\35\P0811R3_midpoint_lerp.exe"
Exit Code: 3 (0x3)
Standard Error:
--
Assertion failed: check_feexcept(0), file C:\GitHub\STL\tests\std\tests\P0811R3_midpoint_lerp\test.cpp, line 1052
abort() has been called--

I'm going to skip these asserts for ARM64, but we should investigate the root cause.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ARM64Related to the ARM64 architectureARM64ECI can't believe it's not x64!testRelated to test code

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions