Skip to content

Commit f9c51ff

Browse files
Merge pull request #11488 from swiftlang/lldb/diagnostic-crash-fix-to-6.2
🍒 [lldb][ClangExpressionParser] Reset DiagnosticManager before we create persistent variables
2 parents 1730cc7 + 5a909d0 commit f9c51ff

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1298,6 +1298,10 @@ ClangExpressionParser::ParseInternal(DiagnosticManager &diagnostic_manager,
12981298
m_compiler->setSema(nullptr);
12991299

13001300
adapter->EndSourceFile();
1301+
// Creating persistent variables can trigger diagnostic emission.
1302+
// Make sure we reset the manager so we don't get asked to handle
1303+
// diagnostics after we finished parsing.
1304+
adapter->ResetManager();
13011305

13021306
unsigned num_errors = adapter->getNumErrors();
13031307

@@ -1313,8 +1317,6 @@ ClangExpressionParser::ParseInternal(DiagnosticManager &diagnostic_manager,
13131317
type_system_helper->CommitPersistentDecls();
13141318
}
13151319

1316-
adapter->ResetManager();
1317-
13181320
return num_errors;
13191321
}
13201322

0 commit comments

Comments
 (0)