================
@@ -259,8 +259,11 @@ static void addVisualCDefines(const LangOptions &Opts, 
MacroBuilder &Builder) {
     Builder.defineMacro("_KERNEL_MODE");
 
   Builder.defineMacro("_INTEGRAL_MAX_BITS", "64");
-  Builder.defineMacro("__STDC_NO_THREADS__");
-
+  // Define __STDC_NO_THREADS__ based on MSVC version, threads.h availability,
+  // and language standard.
+  if (!(Opts.isCompatibleWithMSVC(LangOptions::MSVC2022_9) && (Opts.LangStd >= 
LangStandard::lang_c11))) {
+    Builder.defineMacro("__STDC_NO_THREADS__");
+  }
----------------
AaronBallman wrote:

```suggestion
  if (!(Opts.isCompatibleWithMSVC(LangOptions::MSVC2022_9) && Opts.C11))
    Builder.defineMacro("__STDC_NO_THREADS__");
```
Simplifying and fixing for our goofy coding style guidelines. There's no need 
to check >= c11 because C11 will also be true in C17, C23, etc.

https://github.com/llvm/llvm-project/pull/117149
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to