Refactored duplicate string literal lexing code within Preprocessor, into a
authorAndy Gibbs <andyg1001@hotmail.co.uk>
Sat, 17 Nov 2012 19:15:38 +0000 (19:15 +0000)
committerAndy Gibbs <andyg1001@hotmail.co.uk>
Sat, 17 Nov 2012 19:15:38 +0000 (19:15 +0000)
commit58905d251bc053ea836183080c7b0a11577c0fb0
treeb32a10eaa0f1f4381f9e1171c580cf776458b925
parentf591982bb2908a80be2aebc52c98d9befc9b5937
Refactored duplicate string literal lexing code within Preprocessor, into a
common LexStringLiteral function.  In doing so, some consistency problems have
been ironed out (e.g. where the first token in the string literal was lexed
with macro expansion, but subsequent ones were not) and also an erroneous
diagnostic has been corrected.

LexStringLiteral is complemented by a FinishLexStringLiteral function which
can be used in the situation where the first token of the string literal has
already been lexed.

llvm-svn: 168266
clang/include/clang/Basic/DiagnosticCommonKinds.td
clang/include/clang/Basic/DiagnosticParseKinds.td
clang/include/clang/Lex/Preprocessor.h
clang/lib/Lex/PPMacroExpansion.cpp
clang/lib/Lex/Pragma.cpp
clang/lib/Lex/Preprocessor.cpp
clang/test/Preprocessor/invalid-__has_warning1.c
clang/test/Preprocessor/invalid-__has_warning2.c
clang/test/Preprocessor/pragma_diagnostic.c
clang/test/Preprocessor/pragma_microsoft.c
clang/test/Preprocessor/warning_tests.c