forked from qt-creator/qt-creator
C++: fix lexing POUND_POUND token with digraphs.
Change-Id: I9204b827c60b283cc4e6b88c810b31eb7587c7db Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
This commit is contained in:
10
src/libs/3rdparty/cplusplus/Lexer.cpp
vendored
10
src/libs/3rdparty/cplusplus/Lexer.cpp
vendored
@@ -263,8 +263,8 @@ void Lexer::scan_helper(Token *tok)
|
||||
|
||||
case '#':
|
||||
if (_yychar == '#') {
|
||||
tok->f.kind = T_POUND_POUND;
|
||||
yyinp();
|
||||
tok->f.kind = T_POUND_POUND;
|
||||
} else {
|
||||
tok->f.kind = T_POUND;
|
||||
}
|
||||
@@ -515,7 +515,13 @@ void Lexer::scan_helper(Token *tok)
|
||||
tok->f.kind = T_RBRACE;
|
||||
} else if (_yychar == ':') {
|
||||
yyinp();
|
||||
tok->f.kind = T_POUND;
|
||||
if (_yychar == '%' && *(_currentChar + 1) == ':') {
|
||||
yyinp();
|
||||
yyinp();
|
||||
tok->f.kind = T_POUND_POUND;
|
||||
} else {
|
||||
tok->f.kind = T_POUND;
|
||||
}
|
||||
} else {
|
||||
tok->f.kind = T_PERCENT;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user