Summary
PR #524 Windows Vulkan job fails under the required MSVC /W4 /WX policy because the unbound-flash-layout block in test_backend_cross_device.cpp redeclares six names from its enclosing ReshapeAndCache test.
Evidence
Job: https://github.com/mudler/vllm.cpp/actions/runs/31641616323/job/94265239433
MSVC C4456 reports these inner declarations at lines 525-529 shadowing lines 462-466:
The declarations were added by commit 822b3a2e15 inside a nested CPU-oracle block; the outer names came from commit 2c86f79ec. Linux builds do not expose the MSVC warning, while Windows correctly treats it as an error under the release gate.
Required fix
Rename only the inner CPU-oracle locals to unambiguous, role-specific names and update their uses. Preserve the test data, tensor shapes/strides, calls, assertions, /W4 /WX, release targets, and production code.
Add RED-first focused structural coverage over this exact test block so restoring any of the six shadowing declarations fails locally, then require native MSVC CPU/Vulkan compilation as hosted acceptance. Rerun the full PR gate and exact merged-SHA release dry run before tagging.
Summary
PR #524 Windows Vulkan job fails under the required MSVC
/W4 /WXpolicy because the unbound-flash-layout block intest_backend_cross_device.cppredeclares six names from its enclosingReshapeAndCachetest.Evidence
Job: https://github.com/mudler/vllm.cpp/actions/runs/31641616323/job/94265239433
MSVC C4456 reports these inner declarations at lines 525-529 shadowing lines 462-466:
cpucqcdckcvcslotsThe declarations were added by commit
822b3a2e15inside a nested CPU-oracle block; the outer names came from commit2c86f79ec. Linux builds do not expose the MSVC warning, while Windows correctly treats it as an error under the release gate.Required fix
Rename only the inner CPU-oracle locals to unambiguous, role-specific names and update their uses. Preserve the test data, tensor shapes/strides, calls, assertions,
/W4 /WX, release targets, and production code.Add RED-first focused structural coverage over this exact test block so restoring any of the six shadowing declarations fails locally, then require native MSVC CPU/Vulkan compilation as hosted acceptance. Rerun the full PR gate and exact merged-SHA release dry run before tagging.