[PATCH] D12761: MPI-Checker patch for Clang Static Analyzer
Alexander Droste via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 21 09:53:21 PDT 2015
Alexander_Droste added inline comments.
Comment at: tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.cpp:137
@@ +136,3 @@
+ // This is never reached...
+ llvm::outs() << "////////////////"
> I figured out what the problem about the request retrieval is:
> `REGISTER_MAP_WITH_PROGRAMSTATE(RequestMap, const clang::ento::clang::mpi::Request)`
> The documentation states: "The macro should not be used inside namespaces, or for traits that must
> be accessible from more than one translation unit." I think I need some advice here, how to make the
> same RequestMap accessible in multiple translation units.
How about this:
We could capture the `PathDiagnosticLocation` of the LastUser in each `mpi::Request` as a member. The `RequestMap` could then be local to `MPICheckerPathSensitive.cpp` and no visitors would be needed. The bug reporter class would then not need to know anything about the request map. The only function I can't find to realise this concept would be something like: `Report->addPathDiagnosticLocation()`.
More information about the cfe-commits