diff options
author | Reagan <xbjfk.github@gmail.com> | 2024-05-25 15:48:13 +1200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-24 23:48:13 -0400 |
commit | 778dbcbbb5c4e462231e812ab463b586555b6a0a (patch) | |
tree | 19350bb7a4fda51e42b1879e2c635a80f1218d34 /clang/lib/Frontend/InitPreprocessor.cpp | |
parent | 7dc2f6602212bf0a0433c157b70e4fc0d70bb730 (diff) | |
download | llvm-778dbcbbb5c4e462231e812ab463b586555b6a0a.zip llvm-778dbcbbb5c4e462231e812ab463b586555b6a0a.tar.gz llvm-778dbcbbb5c4e462231e812ab463b586555b6a0a.tar.bz2 |
[clang] Add /Zc:__STDC__ flag to clang-cl (#68690)
This commit adds the /Zc:\_\_STDC\_\_ argument from MSVC, which defines
\_\_STDC_\_.
This means, alongside stronger feature parity with MSVC, that things
that rely on \_\_STDC\_\_, such as autoconf, can work.
Link to MSVC documentation of this flag:
https://learn.microsoft.com/en-us/cpp/build/reference/zc-stdc?view=msvc-170
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
-rw-r--r-- | clang/lib/Frontend/InitPreprocessor.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index 68760e0..e8c8a51 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -432,7 +432,8 @@ static void InitializeStandardPredefinedMacros(const TargetInfo &TI, // [C++] Whether __STDC__ is predefined and if so, what its value is, // are implementation-defined. // (Removed in C++20.) - if (!LangOpts.MSVCCompat && !LangOpts.TraditionalCPP) + if ((!LangOpts.MSVCCompat || LangOpts.MSVCEnableStdcMacro) && + !LangOpts.TraditionalCPP) Builder.defineMacro("__STDC__"); // -- __STDC_HOSTED__ // The integer literal 1 if the implementation is a hosted |