[preprocessor] In Preprocessor::CachingLex() check whether there were more tokens
cached during the non-cached lex, otherwise we are going to drop them.
Fixes a bogus "_Pragma takes a parenthesized string literal" error when
expanding consecutive _Pragmas in a macro argument.
Part of rdar://11168596
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153994 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Preprocessor/_Pragma-in-macro-arg.c b/test/Preprocessor/_Pragma-in-macro-arg.c
index 99a33a9..2877bcb 100644
--- a/test/Preprocessor/_Pragma-in-macro-arg.c
+++ b/test/Preprocessor/_Pragma-in-macro-arg.c
@@ -15,7 +15,7 @@
// This should be ignored..
INACTIVE(_Pragma("clang diagnostic ignored \"-Wconversion\""))
-#define IGNORE_CONV _Pragma("clang diagnostic ignored \"-Wconversion\"")
+#define IGNORE_CONV _Pragma("clang diagnostic ignored \"-Wconversion\"") _Pragma("clang diagnostic ignored \"-Wconversion\"")
// ..as should this.
INACTIVE(IGNORE_CONV)