aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/InitPreprocessor.cpp
diff options
context:
space:
mode:
authorReagan <xbjfk.github@gmail.com>2024-05-25 15:48:13 +1200
committerGitHub <noreply@github.com>2024-05-24 23:48:13 -0400
commit778dbcbbb5c4e462231e812ab463b586555b6a0a (patch)
tree19350bb7a4fda51e42b1879e2c635a80f1218d34 /clang/lib/Frontend/InitPreprocessor.cpp
parent7dc2f6602212bf0a0433c157b70e4fc0d70bb730 (diff)
downloadllvm-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.cpp3
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