clang 22.0.0git
clang::ento::mpi::MPIBugReporter Class Reference

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.h"

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.

Detailed Description

Definition at line 26 of file MPIBugReporter.h.

Constructor & Destructor Documentation

◆ MPIBugReporter()

clang::ento::mpi::MPIBugReporter::MPIBugReporter ( const CheckerBase & CB)
inline

Definition at line 28 of file MPIBugReporter.h.

Member Function Documentation

◆ reportDoubleNonblocking()

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.

Parameters
MPICallEventMPI call that caused the double nonblocking
Reqrequest that was used by two nonblocking calls in sequence
RequestRegionmemory region of the request
ExplNodenode in the graph the bug appeared at
BReporterbug reporter for current context

Definition at line 22 of file MPIBugReporter.cpp.

References clang::ento::BugReporter::emitReport(), clang::ento::MemRegion::getDescriptiveName(), clang::ento::CallEvent::getSourceRange(), clang::sema::Report, and clang::ento::MemRegion::sourceRange().

◆ reportMissingWait()

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.

Parameters
Reqrequest that is not matched by a wait
RequestRegionmemory region of the request
ExplNodenode in the graph the bug appeared at
BReporterbug reporter for current context

Definition at line 48 of file MPIBugReporter.cpp.

References clang::ento::BugReporter::emitReport(), clang::ento::MemRegion::getDescriptiveName(), clang::sema::Report, and clang::ento::MemRegion::sourceRange().

◆ reportUnmatchedWait()

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.

Parameters
CEwait call that uses the request
RequestRegionmemory region of the request
ExplNodenode in the graph the bug appeared at
BReporterbug reporter for current context

Definition at line 68 of file MPIBugReporter.cpp.

References clang::ento::BugReporter::emitReport(), clang::ento::MemRegion::getDescriptiveName(), clang::ento::CallEvent::getSourceRange(), clang::sema::Report, and clang::ento::MemRegion::sourceRange().


The documentation for this class was generated from the following files: