// Save state that can be changed while lexing so that we can restore it.
const char *TmpBufferPtr = BufferPtr;
+ bool inPPDirectiveMode = ParsingPreprocessorDirective;
Token Tok;
Tok.startToken();
// Restore state that may have changed.
BufferPtr = TmpBufferPtr;
+ ParsingPreprocessorDirective = inPPDirectiveMode;
// Restore the lexer back to non-skipping mode.
LexingRawMode = false;
zero_dot()
one_dot(x) /* empty ... argument: expected-warning {{varargs argument missing, but tolerated as an extension}} */
one_dot() /* empty first argument, elided ...: expected-warning {{varargs argument missing, but tolerated as an extension}} */
+
+
+/* rdar://6816766 - Crash with function-like macro test at end of directive. */
+#define E() (i == 0)
+#if E
+#endif