Skip to content

CI workflow for MSVC O2#2590

Merged
stephenberry merged 3 commits into
stephenberry:mainfrom
annihilatorq:ci/add-msvc-release-build
Jun 1, 2026
Merged

CI workflow for MSVC O2#2590
stephenberry merged 3 commits into
stephenberry:mainfrom
annihilatorq:ci/add-msvc-release-build

Conversation

@annihilatorq

Copy link
Copy Markdown
Collaborator

I noticed that glaze uses asio::awaitable in its code, and immediately recalled a time debugging a crash on O2 caused by asio::co_composed, and even though I didn’t see any use of asio::co_composed_future in glaze - I thought it wouldn’t hurt to add an extra check for the O2 build for MSVC, because it's probably one of the most finicky compilers out there.

Motivation is my recent very negative experience with the MSVC optimizer: chriskohlhoff/asio#1724.
In short, MSVC emitted an aligned 128-bit movaps, even though the operand address was aligned to 8 bytes, not 16, so this resulted in STATUS_ACCESS_VIOLATION

@stephenberry

Copy link
Copy Markdown
Owner

Thanks for this!

@stephenberry stephenberry merged commit 442b59b into stephenberry:main Jun 1, 2026
52 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants