[lldb][ClangASTImporter][NFC] Emit a log message when we break MapImported invariant #9454
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This patch emits a warning into the expression log when we call
MapImported
on a decl which has already been imported, but with a newto
destination decl. In asserts builds this would lead to triggering this ASTImporter::MapImportedassertion. In no-asserts builds we will likely crash, in potentially non-obvious ways. The hope is that the log message will help in diagnosing this type of issue in the field.
The underlying issue is discussed in more detail in: llvm#112566.
In a non-asserts build, the last few expression log entries would look as follows:
Note how we start "completing"
Foo
. Then emit our newWARNING
. Shortly after, we crash, and the log abruptly ends.rdar://135551810
(cherry picked from commit aa32060)