invalid directives can occur in #if 0 code, just pass them
through like other directives PTH doesn't care about. This
should fix rdar://6804029
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69524 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/clang-cc/CacheTokens.cpp b/tools/clang-cc/CacheTokens.cpp
index c417eb4..2b08818 100644
--- a/tools/clang-cc/CacheTokens.cpp
+++ b/tools/clang-cc/CacheTokens.cpp
@@ -490,12 +490,15 @@
Tok.setIdentifierInfo(II);
tok::PPKeywordKind K = II->getPPKeywordID();
- assert(K != tok::pp_not_keyword);
ParsingPreprocessorDirective = true;
switch (K) {
+ case tok::pp_not_keyword:
+ // Invalid directives "#foo" can occur in #if 0 blocks etc, just pass
+ // them through.
default:
break;
+
case tok::pp_include:
case tok::pp_import:
case tok::pp_include_next: {