microsoft / microsoft/snmalloc
MSVC ARM64 internal compiler error when building static shim on Windows ARM64
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 2k
- Forks
- 138
- Avg merge
- 11h 19m
- Merged PRs (30d)
- 5
Description
Description
When updating snmalloc to 0.7.5 in vcpkg https://github.com/microsoft/vcpkg/pull/52545, the arm64-windows CI job fails while building the static-shim feature.
The failure happens when compiling the static shim targets, such as snmalloc-new-override / snmallocshim-static, with MSVC targeting ARM64 in Release mode.
The default header-only build does not appear to be affected. The issue seems specific to the compiled static shim path enabled by SNMALLOC_STATIC_LIBRARY.
Error
The build fails with an MSVC internal compiler error:
freelist.h(917) : Illegal reg field
fatal error C1001: Internal compiler error.
compiler file '...\p2\arm64\disencode.cpp'
Environment
Platform: Windows ARM64
Compiler: MSVC
Build type: Release
Package manager: vcpkg
snmalloc version: 0.7.5
Feature: static-shim
Observed behavior
Building the static-shim feature on arm64-windows fails with an MSVC ARM64 backend internal compiler error.
Expected behavior
The static shim targets should compile successfully on Windows ARM64, or the unsupported compiler/architecture combination should be documented or guarded.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the arm64-windows Release build for the static-shim targets, such as snmalloc-new-override and snmallocshim-static, with SNMALLOC_STATIC_LIBRARY enabled. Start at freelist.h:917 and the vcpkg arm64-windows CI failure; done means the targets compile successfully with MSVC ARM64, or the unsupported combination is documented or guarded.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- build-system, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100