class MPIBugReporter
Declaration
class MPIBugReporter { /* full declaration omitted */ };
Declared at: clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.h:25
Member Variables
- private const std::string MPIError = "MPI Error"
- private std::unique_ptr<BugType> UnmatchedWaitBugType
- private std::unique_ptr<BugType> MissingWaitBugType
- private std::unique_ptr<BugType> DoubleNonblockingBugType
Method Overview
- public MPIBugReporter(const clang::ento::CheckerBase & CB)
- public void reportDoubleNonblocking(const clang::ento::CallEvent & MPICallEvent, const clang::ento::mpi::Request & Req, const clang::ento::MemRegion *const RequestRegion, const clang::ento::ExplodedNode *const ExplNode, clang::ento::BugReporter & BReporter) const
- public void reportMissingWait(const clang::ento::mpi::Request & Req, const clang::ento::MemRegion *const RequestRegion, const clang::ento::ExplodedNode *const ExplNode, clang::ento::BugReporter & BReporter) const
- public void reportUnmatchedWait(const clang::ento::CallEvent & CE, const clang::ento::MemRegion *const RequestRegion, const clang::ento::ExplodedNode *const ExplNode, clang::ento::BugReporter & BReporter) const
Methods
¶MPIBugReporter(const clang::ento::CheckerBase& CB)
MPIBugReporter(const clang::ento::CheckerBase& CB)
Declared at: clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.h:27
Parameters
- const clang::ento::CheckerBase& CB
¶void reportDoubleNonblocking(
const clang::ento::CallEvent& MPICallEvent,
const clang::ento::mpi::Request& Req,
const clang::ento::MemRegion* const
RequestRegion,
const clang::ento::ExplodedNode* const
ExplNode,
clang::ento::BugReporter& BReporter) const
void reportDoubleNonblocking(
const clang::ento::CallEvent& MPICallEvent,
const clang::ento::mpi::Request& Req,
const clang::ento::MemRegion* const
RequestRegion,
const clang::ento::ExplodedNode* const
ExplNode,
clang::ento::BugReporter& BReporter) const
Description
Report duplicate request use by nonblocking calls without intermediate wait.
Declared at: clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.h:42
Parameters
- const clang::ento::CallEvent& MPICallEvent
- MPI call that caused the double nonblocking
- const clang::ento::mpi::Request& Req
- request that was used by two nonblocking calls in sequence
- const clang::ento::MemRegion* const RequestRegion
- memory region of the request
- const clang::ento::ExplodedNode* const ExplNode
- node in the graph the bug appeared at
- clang::ento::BugReporter& BReporter
- bug reporter for current context
¶void reportMissingWait(
const clang::ento::mpi::Request& Req,
const clang::ento::MemRegion* const
RequestRegion,
const clang::ento::ExplodedNode* const
ExplNode,
clang::ento::BugReporter& BReporter) const
void reportMissingWait(
const clang::ento::mpi::Request& Req,
const clang::ento::MemRegion* const
RequestRegion,
const clang::ento::ExplodedNode* const
ExplNode,
clang::ento::BugReporter& BReporter) const
Description
Report a missing wait for a nonblocking call.
Declared at: clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.h:54
Parameters
- const clang::ento::mpi::Request& Req
- request that is not matched by a wait
- const clang::ento::MemRegion* const RequestRegion
- memory region of the request
- const clang::ento::ExplodedNode* const ExplNode
- node in the graph the bug appeared at
- clang::ento::BugReporter& BReporter
- bug reporter for current context
¶void reportUnmatchedWait(
const clang::ento::CallEvent& CE,
const clang::ento::MemRegion* const
RequestRegion,
const clang::ento::ExplodedNode* const
ExplNode,
clang::ento::BugReporter& BReporter) const
void reportUnmatchedWait(
const clang::ento::CallEvent& CE,
const clang::ento::MemRegion* const
RequestRegion,
const clang::ento::ExplodedNode* const
ExplNode,
clang::ento::BugReporter& BReporter) const
Description
Report a wait on a request that has not been used at all before.
Declared at: clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.h:65
Parameters
- const clang::ento::CallEvent& CE
- wait call that uses the request
- const clang::ento::MemRegion* const RequestRegion
- memory region of the request
- const clang::ento::ExplodedNode* const ExplNode
- node in the graph the bug appeared at
- clang::ento::BugReporter& BReporter
- bug reporter for current context