From: Chris Lattner Date: Sun, 19 Apr 2009 07:32:03 +0000 (+0000) Subject: invalid directives can occur in #if 0 code, just pass them X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=aa269c2e9c242a2fdf1f47ea400f58823ae9e395;p=clang 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 c417eb4902..2b08818f8f 100644 --- a/tools/clang-cc/CacheTokens.cpp +++ b/tools/clang-cc/CacheTokens.cpp @@ -490,12 +490,15 @@ PTHEntry PTHWriter::LexTokens(Lexer& L) { 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: {