From b0bdfdf06ac1c9091def13fb1680843364523544 Mon Sep 17 00:00:00 2001 From: zhaojunmeng Date: Mon, 22 Sep 2025 21:50:12 +0800 Subject: [PATCH] Fix ParseHeader() can only report the last file's error in non unityBuild mode --- src/CppParser/Parser.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index 22a500af..8c6d76e0 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -5017,9 +5017,16 @@ ParserResult* ClangParser::ParseHeader(CppParserOptions* Opts) Parser parser(Opts); if (i < Headers.size() - 1) - delete parser.Parse({ Headers[i] }); + { + res = parser.Parse({ Headers[i] }); + if (res && res->kind != ParserResultKind::Success) + return res; + delete res; + } else + { res = parser.Parse({ Headers[i] }); + } } return res;