clang 20.0.0git
|
Public Member Functions | |
MPIBugReporter (const CheckerBase &CB) | |
void | reportDoubleNonblocking (const CallEvent &MPICallEvent, const Request &Req, const MemRegion *const RequestRegion, const ExplodedNode *const ExplNode, BugReporter &BReporter) const |
Report duplicate request use by nonblocking calls without intermediate wait. | |
void | reportMissingWait (const Request &Req, const MemRegion *const RequestRegion, const ExplodedNode *const ExplNode, BugReporter &BReporter) const |
Report a missing wait for a nonblocking call. | |
void | reportUnmatchedWait (const CallEvent &CE, const MemRegion *const RequestRegion, const ExplodedNode *const ExplNode, BugReporter &BReporter) const |
Report a wait on a request that has not been used at all before. | |
Definition at line 26 of file MPIBugReporter.h.
|
inline |
Definition at line 28 of file MPIBugReporter.h.
void clang::ento::mpi::MPIBugReporter::reportDoubleNonblocking | ( | const CallEvent & | MPICallEvent, |
const Request & | Req, | ||
const MemRegion *const | RequestRegion, | ||
const ExplodedNode *const | ExplNode, | ||
BugReporter & | BReporter | ||
) | const |
Report duplicate request use by nonblocking calls without intermediate wait.
MPICallEvent | MPI call that caused the double nonblocking |
Req | request that was used by two nonblocking calls in sequence |
RequestRegion | memory region of the request |
ExplNode | node in the graph the bug appeared at |
BReporter | bug reporter for current context |
Definition at line 23 of file MPIBugReporter.cpp.
References clang::ento::BugReporter::emitReport(), clang::ento::MemRegion::getDescriptiveName(), clang::ento::CallEvent::getSourceRange(), and clang::ento::MemRegion::sourceRange().
Referenced by clang::ento::mpi::MPIChecker::checkDoubleNonblocking().
void clang::ento::mpi::MPIBugReporter::reportMissingWait | ( | const Request & | Req, |
const MemRegion *const | RequestRegion, | ||
const ExplodedNode *const | ExplNode, | ||
BugReporter & | BReporter | ||
) | const |
Report a missing wait for a nonblocking call.
Req | request that is not matched by a wait |
RequestRegion | memory region of the request |
ExplNode | node in the graph the bug appeared at |
BReporter | bug reporter for current context |
Definition at line 49 of file MPIBugReporter.cpp.
References clang::ento::BugReporter::emitReport(), clang::ento::MemRegion::getDescriptiveName(), and clang::ento::MemRegion::sourceRange().
Referenced by clang::ento::mpi::MPIChecker::checkMissingWaits().
void clang::ento::mpi::MPIBugReporter::reportUnmatchedWait | ( | const CallEvent & | CE, |
const MemRegion *const | RequestRegion, | ||
const ExplodedNode *const | ExplNode, | ||
BugReporter & | BReporter | ||
) | const |
Report a wait on a request that has not been used at all before.
CE | wait call that uses the request |
RequestRegion | memory region of the request |
ExplNode | node in the graph the bug appeared at |
BReporter | bug reporter for current context |
Definition at line 69 of file MPIBugReporter.cpp.
References clang::ento::BugReporter::emitReport(), clang::ento::MemRegion::getDescriptiveName(), clang::ento::CallEvent::getSourceRange(), and clang::ento::MemRegion::sourceRange().
Referenced by clang::ento::mpi::MPIChecker::checkUnmatchedWaits().