diff --git a/tools/libSwiftSyntaxParser/libSwiftSyntaxParser.cpp b/tools/libSwiftSyntaxParser/libSwiftSyntaxParser.cpp index 6dd5014f9e4..24324ca986f 100644 --- a/tools/libSwiftSyntaxParser/libSwiftSyntaxParser.cpp +++ b/tools/libSwiftSyntaxParser/libSwiftSyntaxParser.cpp @@ -284,6 +284,8 @@ swiftparse_client_node_t SynParser::parse(const char *source) { ParserUnit PU(SM, SourceFileKind::Main, bufID, langOpts, "syntax_parse_module", std::move(parseActions), /*SyntaxCache=*/nullptr); + // Evaluating pound conditions may lead to unknown syntax. + PU.getParser().State->PerformConditionEvaluation = false; std::unique_ptr pConsumer; if (DiagHandler) { pConsumer = llvm::make_unique(*this, bufID);