dotnet/runtime

[mono] Use C11 atomics in atomic.h when building with MSVC

Open

#91,748 opened on Sep 7, 2023

View on GitHub
 (3 comments) (0 reactions) (0 assignees)C# (5,445 forks)batch import
area-Infrastructure-monohelp wanted

Repository metrics

Stars
 (17,886 stars)
PR merge metrics
 (Avg merge 12d 11h) (661 merged PRs in 30d)

Description

There are two things we need to do:

  1. Pass the /experimental:c11atomics to the MSVC compiler for the runtime build
  2. Use C++23 when building our C++ files (they may include "atomic.h" which includes <stdatomic.h> which errors out in MSVC in C++ mode unless you're using at least C++23)

Contributor guide