From 204bf2bbb265b5158783bacf9a67b0bc4cc57747 Mon Sep 17 00:00:00 2001 From: Kristof Umann Date: Sat, 26 Jan 2019 21:41:50 +0000 Subject: [analyzer] Add CheckerManager::getChecker, make sure that a registry function registers no more than 1 checker This patch effectively fixes the almost decade old checker naming issue. The solution is to assert when CheckerManager::getChecker is called on an unregistered checker, and assert when CheckerManager::registerChecker is called on a checker that is already registered. Differential Revision: https://reviews.llvm.org/D55429 llvm-svn: 352292 --- clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp') diff --git a/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp index d3eb5063120..13ad3d98e8e 100644 --- a/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp @@ -409,7 +409,7 @@ bool ento::shouldRegisterValistBase(const LangOptions &LO) { #define REGISTER_CHECKER(name) \ void ento::register##name##Checker(CheckerManager &mgr) { \ - ValistChecker *checker = mgr.registerChecker(); \ + ValistChecker *checker = mgr.getChecker(); \ checker->ChecksEnabled[ValistChecker::CK_##name] = true; \ checker->CheckNames[ValistChecker::CK_##name] = mgr.getCurrentCheckName(); \ } \ -- cgit v1.2.3