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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions