diff options
Diffstat (limited to 'lib/Lex/Lexer.cpp')
-rw-r--r-- | lib/Lex/Lexer.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/Lex/Lexer.cpp b/lib/Lex/Lexer.cpp index 5d32c72884..dabc15951f 100644 --- a/lib/Lex/Lexer.cpp +++ b/lib/Lex/Lexer.cpp @@ -926,7 +926,11 @@ FinishIdentifier: } /// isHexaLiteral - Return true if Start points to a hex constant. -static inline bool isHexaLiteral(const char* Start, const char* End) { +/// FIXME: This isn't correct, it will mislex: +/// 0\ +/// x1234e+1 +/// in microsoft mode (where this is supposed to be several different tokens). +static inline bool isHexaLiteral(const char *Start, const char *End) { return ((End - Start > 2) && Start[0] == '0' && (Start[1] == 'x' || Start[1] == 'X')); } |