aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-05-21 20:22:37 +0000
committerChris Lattner <sabre@nondot.org>2010-05-21 20:22:37 +0000
commit34d7c4d62863ca0d5bcf705da0e1001878386c26 (patch)
treed095705542191fd4353a7369aa420d5596ddd23d
parenta5ddbcac1e784d3e438fc6233a9e0f5516dc35ef (diff)
don't make _Bool be a keyword in -fms-extensions mode, patch by
Steven Watanabe! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104373 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/Basic/TokenKinds.def2
-rw-r--r--lib/Basic/IdentifierTable.cpp4
2 files changed, 4 insertions, 2 deletions
diff --git a/include/clang/Basic/TokenKinds.def b/include/clang/Basic/TokenKinds.def
index c50b31d374..b16b82854b 100644
--- a/include/clang/Basic/TokenKinds.def
+++ b/include/clang/Basic/TokenKinds.def
@@ -220,7 +220,7 @@ KEYWORD(unsigned , KEYALL)
KEYWORD(void , KEYALL)
KEYWORD(volatile , KEYALL)
KEYWORD(while , KEYALL)
-KEYWORD(_Bool , KEYALL)
+KEYWORD(_Bool , KEYNOMS)
KEYWORD(_Complex , KEYALL)
KEYWORD(_Imaginary , KEYALL)
KEYWORD(__func__ , KEYALL)
diff --git a/lib/Basic/IdentifierTable.cpp b/lib/Basic/IdentifierTable.cpp
index ed0de8c4af..8993e6713f 100644
--- a/lib/Basic/IdentifierTable.cpp
+++ b/lib/Basic/IdentifierTable.cpp
@@ -70,7 +70,8 @@ namespace {
KEYGNU = 16,
KEYMS = 32,
BOOLSUPPORT = 64,
- KEYALTIVEC = 128
+ KEYALTIVEC = 128,
+ KEYNOMS = 256
};
}
@@ -94,6 +95,7 @@ static void AddKeyword(llvm::StringRef Keyword,
else if (LangOpts.Microsoft && (Flags & KEYMS)) AddResult = 1;
else if (LangOpts.Bool && (Flags & BOOLSUPPORT)) AddResult = 2;
else if (LangOpts.AltiVec && (Flags & KEYALTIVEC)) AddResult = 2;
+ else if (!LangOpts.Microsoft && (Flags & KEYNOMS)) AddResult = 2;
// Don't add this keyword if disabled in this language.
if (AddResult == 0) return;