Skip to content

Commit 192902c

Browse files
authored
Merge pull request #11479 from swiftlang/lldb/diagnostic-crash-fix-to-21.x
🍒 [lldb][ClangExpressionParser] Reset DiagnosticManager before we create persistent variables
2 parents 34714dc + a943688 commit 192902c

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
@@ -1352,6 +1352,10 @@ ClangExpressionParser::ParseInternal(DiagnosticManager &diagnostic_manager,
13521352
m_compiler->setSema(nullptr);
13531353

13541354
adapter->EndSourceFile();
1355+
// Creating persistent variables can trigger diagnostic emission.
1356+
// Make sure we reset the manager so we don't get asked to handle
1357+
// diagnostics after we finished parsing.
1358+
adapter->ResetManager();
13551359

13561360
unsigned num_errors = adapter->getNumErrors();
13571361

@@ -1367,8 +1371,6 @@ ClangExpressionParser::ParseInternal(DiagnosticManager &diagnostic_manager,
13671371
type_system_helper->CommitPersistentDecls();
13681372
}
13691373

1370-
adapter->ResetManager();
1371-
13721374
return num_errors;
13731375
}
13741376

0 commit comments

Comments
 (0)