summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2009-06-25 23:25:15 +0000
committerNate Begeman <natebegeman@mac.com>2009-06-25 23:25:15 +0000
commit8b68d6fb83fe99d8320f963407d298389f5f9cbd (patch)
tree83331889bec963c9384a5397661ceecaf309e978 /clang
parent16f357cccf9e2c412fc2a54717ba630a38eb791e (diff)
downloadbcm5719-llvm-8b68d6fb83fe99d8320f963407d298389f5f9cbd.tar.gz
bcm5719-llvm-8b68d6fb83fe99d8320f963407d298389f5f9cbd.zip
OpenCL 1.0 Support: support "bool, true, false" tokens when compiling for OpenCL
llvm-svn: 74224
Diffstat (limited to 'clang')
-rw-r--r--clang/include/clang/Basic/TokenKinds.def6
-rw-r--r--clang/lib/Basic/IdentifierTable.cpp4
2 files changed, 6 insertions, 4 deletions
diff --git a/clang/include/clang/Basic/TokenKinds.def b/clang/include/clang/Basic/TokenKinds.def
index 497b1884a3d..ed0270acd0d 100644
--- a/clang/include/clang/Basic/TokenKinds.def
+++ b/clang/include/clang/Basic/TokenKinds.def
@@ -224,7 +224,7 @@ KEYWORD(__func__ , KEYALL)
// C++ 2.11p1: Keywords.
KEYWORD(asm , KEYCXX|KEYGNU)
-KEYWORD(bool , KEYCXX)
+KEYWORD(bool , KEYCXX|BOOLSUPPORT)
KEYWORD(catch , KEYCXX)
KEYWORD(class , KEYCXX)
KEYWORD(const_cast , KEYCXX)
@@ -232,7 +232,7 @@ KEYWORD(delete , KEYCXX)
KEYWORD(dynamic_cast , KEYCXX)
KEYWORD(explicit , KEYCXX)
KEYWORD(export , KEYCXX)
-KEYWORD(false , KEYCXX)
+KEYWORD(false , KEYCXX|BOOLSUPPORT)
KEYWORD(friend , KEYCXX)
KEYWORD(mutable , KEYCXX)
KEYWORD(namespace , KEYCXX)
@@ -246,7 +246,7 @@ KEYWORD(static_cast , KEYCXX)
KEYWORD(template , KEYCXX)
KEYWORD(this , KEYCXX)
KEYWORD(throw , KEYCXX)
-KEYWORD(true , KEYCXX)
+KEYWORD(true , KEYCXX|BOOLSUPPORT)
KEYWORD(try , KEYCXX)
KEYWORD(typename , KEYCXX)
KEYWORD(typeid , KEYCXX)
diff --git a/clang/lib/Basic/IdentifierTable.cpp b/clang/lib/Basic/IdentifierTable.cpp
index cf78da98692..d13ffa38213 100644
--- a/clang/lib/Basic/IdentifierTable.cpp
+++ b/clang/lib/Basic/IdentifierTable.cpp
@@ -66,7 +66,8 @@ namespace {
KEYCXX = 4,
KEYCXX0X = 8,
KEYGNU = 16,
- KEYMS = 32
+ KEYMS = 32,
+ BOOLSUPPORT = 64
};
}
@@ -88,6 +89,7 @@ static void AddKeyword(const char *Keyword, unsigned KWLen,
else if (LangOpts.C99 && (Flags & KEYC99)) AddResult = 2;
else if (LangOpts.GNUMode && (Flags & KEYGNU)) AddResult = 1;
else if (LangOpts.Microsoft && (Flags & KEYMS)) AddResult = 1;
+ else if (LangOpts.OpenCL && (Flags & BOOLSUPPORT)) AddResult = 2;
// Don't add this keyword if disabled in this language.
if (AddResult == 0) return;
OpenPOWER on IntegriCloud