blob: a6908bd7a651efdf87804418de84d45315dffdb5 [file] [log] [blame]
Reka Kovacs18775fc2018-06-09 13:03:49 +00001//===--- AllocationState.h ------------------------------------- *- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef LLVM_CLANG_LIB_STATICANALYZER_CHECKERS_ALLOCATIONSTATE_H
11#define LLVM_CLANG_LIB_STATICANALYZER_CHECKERS_ALLOCATIONSTATE_H
12
Reka Kovacse453e602018-07-07 19:27:18 +000013#include "clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h"
Reka Kovacs18775fc2018-06-09 13:03:49 +000014#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h"
15
16namespace clang {
17namespace ento {
18
19namespace allocation_state {
20
21ProgramStateRef markReleased(ProgramStateRef State, SymbolRef Sym,
22 const Expr *Origin);
23
Reka Kovacse453e602018-07-07 19:27:18 +000024/// This function provides an additional visitor that augments the bug report
25/// with information relevant to memory errors caused by the misuse of
Reka Kovacs88ad7042018-07-20 15:14:49 +000026/// AF_InnerBuffer symbols.
27std::unique_ptr<BugReporterVisitor> getInnerPointerBRVisitor(SymbolRef Sym);
Reka Kovacse453e602018-07-07 19:27:18 +000028
Reka Kovacs18775fc2018-06-09 13:03:49 +000029} // end namespace allocation_state
30
31} // end namespace ento
32} // end namespace clang
33
34#endif