forked from OSchip/llvm-project
[clang-tidy] run() doesn't update the SourceManager.
Summary: By now the context's SourceManager is now initialized everywhere that ClangTidyCheck::registerMatcher() is called, so the call from run() seems entirely redundant, and indeed all the tests pass. This solves a problem with embedding clang-tidy: if using a DiagnosticsEngine which already has file state, re-setting its SourceManager (to the same value) causes an assertion. (There are other ways to solve this problem, but this is the simplest). Reviewers: hokein, alexfh Subscribers: xazax.hun, cfe-commits Differential Revision: https://reviews.llvm.org/D54061 llvm-svn: 346219
This commit is contained in:
parent
c6fcdd3b30
commit
80a3c561a7
|
@ -441,7 +441,9 @@ DiagnosticBuilder ClangTidyCheck::diag(SourceLocation Loc, StringRef Message,
|
|||
}
|
||||
|
||||
void ClangTidyCheck::run(const ast_matchers::MatchFinder::MatchResult &Result) {
|
||||
Context->setSourceManager(Result.SourceManager);
|
||||
// For historical reasons, checks don't implement the MatchFinder run()
|
||||
// callback directly. We keep the run()/check() distinction to avoid interface
|
||||
// churn, and to allow us to add cross-cutting logic in the future.
|
||||
check(Result);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue