diff options
Diffstat (limited to 'include/clang')
-rw-r--r-- | include/clang/Basic/DiagnosticLexKinds.td | 9 | ||||
-rw-r--r-- | include/clang/Lex/Lexer.h | 2 | ||||
-rw-r--r-- | include/clang/Lex/LiteralSupport.h | 1 |
3 files changed, 12 insertions, 0 deletions
diff --git a/include/clang/Basic/DiagnosticLexKinds.td b/include/clang/Basic/DiagnosticLexKinds.td index e23921be0b..1347ceb8c9 100644 --- a/include/clang/Basic/DiagnosticLexKinds.td +++ b/include/clang/Basic/DiagnosticLexKinds.td @@ -55,6 +55,15 @@ def err_unterminated___pragma : Error<"missing terminating ')' character">; def err_conflict_marker : Error<"version control conflict marker in file">; +def err_raw_delim_too_long : Error< + "raw string delimiter longer than 16 characters" + "; use PREFIX( )PREFIX to delimit raw string">; +def err_invalid_char_raw_delim : Error< + "invalid character '%0' character in raw string delimiter" + "; use PREFIX( )PREFIX to delimit raw string">; +def err_unterminated_raw_string : Error< + "raw string missing terminating delimiter )%0\"">; + def ext_multichar_character_literal : ExtWarn< "multi-character character constant">, InGroup<MultiChar>; def ext_four_char_character_literal : Extension< diff --git a/include/clang/Lex/Lexer.h b/include/clang/Lex/Lexer.h index e24fe9c9ab..3bc44b192a 100644 --- a/include/clang/Lex/Lexer.h +++ b/include/clang/Lex/Lexer.h @@ -485,6 +485,8 @@ private: void LexNumericConstant (Token &Result, const char *CurPtr); void LexStringLiteral (Token &Result, const char *CurPtr, tok::TokenKind Kind); + void LexRawStringLiteral (Token &Result, const char *CurPtr, + tok::TokenKind Kind); void LexAngledStringLiteral(Token &Result, const char *CurPtr); void LexCharConstant (Token &Result, const char *CurPtr, tok::TokenKind Kind); diff --git a/include/clang/Lex/LiteralSupport.h b/include/clang/Lex/LiteralSupport.h index 15057299b2..3a3782a3b2 100644 --- a/include/clang/Lex/LiteralSupport.h +++ b/include/clang/Lex/LiteralSupport.h @@ -197,6 +197,7 @@ public: private: void init(const Token *StringToks, unsigned NumStringToks); + void CopyStringFragment(const StringRef &Fragment); }; } // end namespace clang |