Skip to content

MSVC ARM64 internal compiler error when building static shim on Windows ARM64 #862

Description

@xiaozhuai

Description

When updating snmalloc to 0.7.5 in vcpkg microsoft/vcpkg#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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions