xref: /freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/InterCheckerAPI.h (revision e25152834cdf3b353892835a4f3b157e066a8ed4)
10b57cec5SDimitry Andric //==--- InterCheckerAPI.h ---------------------------------------*- C++ -*-==//
20b57cec5SDimitry Andric //
30b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
50b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60b57cec5SDimitry Andric //
70b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
80b57cec5SDimitry Andric // This file allows introduction of checker dependencies. It contains APIs for
90b57cec5SDimitry Andric // inter-checker communications.
100b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
110b57cec5SDimitry Andric 
120b57cec5SDimitry Andric #ifndef LLVM_CLANG_LIB_STATICANALYZER_CHECKERS_INTERCHECKERAPI_H
130b57cec5SDimitry Andric #define LLVM_CLANG_LIB_STATICANALYZER_CHECKERS_INTERCHECKERAPI_H
140b57cec5SDimitry Andric 
15*5ffd83dbSDimitry Andric // FIXME: This file goes against how a checker should be implemented either in
16*5ffd83dbSDimitry Andric // a single file, or be exposed in a header file. Let's try to get rid of it!
17*5ffd83dbSDimitry Andric 
18*5ffd83dbSDimitry Andric namespace clang {
190b57cec5SDimitry Andric namespace ento {
200b57cec5SDimitry Andric 
21*5ffd83dbSDimitry Andric class CheckerManager;
22*5ffd83dbSDimitry Andric 
230b57cec5SDimitry Andric /// Register the part of MallocChecker connected to InnerPointerChecker.
240b57cec5SDimitry Andric void registerInnerPointerCheckerAux(CheckerManager &Mgr);
250b57cec5SDimitry Andric 
26*5ffd83dbSDimitry Andric } // namespace ento
27*5ffd83dbSDimitry Andric } // namespace clang
28*5ffd83dbSDimitry Andric 
290b57cec5SDimitry Andric #endif /* INTERCHECKERAPI_H_ */
30