summaryrefslogtreecommitdiffstats
path: root/clang/lib/Lex
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2011-02-09 21:08:21 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2011-02-09 21:08:21 +0000
commitc1270f51fabaf0d6b93e54269739b969ab81ee65 (patch)
treecc2c659be0149d6a5a458d3c33c16d86dcbd7861 /clang/lib/Lex
parent41f85462336ce32fad0bfd14a1c061dbe15a107b (diff)
downloadbcm5719-llvm-c1270f51fabaf0d6b93e54269739b969ab81ee65.tar.gz
bcm5719-llvm-c1270f51fabaf0d6b93e54269739b969ab81ee65.zip
Lexer: add CUDA kernel call tokens
llvm-svn: 125218
Diffstat (limited to 'clang/lib/Lex')
-rw-r--r--clang/lib/Lex/Lexer.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/Lex/Lexer.cpp b/clang/lib/Lex/Lexer.cpp
index 7c94528c64d..fd5bb617a08 100644
--- a/clang/lib/Lex/Lexer.cpp
+++ b/clang/lib/Lex/Lexer.cpp
@@ -2323,6 +2323,10 @@ LexNextToken:
// If this is actually a '<<<<<<<' version control conflict marker,
// recognize it as such and recover nicely.
goto LexNextToken;
+ } else if (Features.CUDA && After == '<') {
+ Kind = tok::lesslessless;
+ CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
+ SizeTmp2, Result);
} else {
CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
Kind = tok::lessless;
@@ -2354,6 +2358,10 @@ LexNextToken:
} else if (After == '>' && HandleEndOfConflictMarker(CurPtr-1)) {
// If this is '>>>>>>>' and we're in a conflict marker, ignore it.
goto LexNextToken;
+ } else if (Features.CUDA && After == '>') {
+ Kind = tok::greatergreatergreater;
+ CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
+ SizeTmp2, Result);
} else {
CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
Kind = tok::greatergreater;
OpenPOWER on IntegriCloud