Skip to content

Commit

Permalink
Merge pull request #9726 from gartung/clangSA-add-atomic-tmpl-name
Browse files Browse the repository at this point in the history
the canonical type of std::atomic<T*> in template <T> edm::AtomicPtrC…
  • Loading branch information
cmsbuild committed Jun 24, 2015
2 parents 5640574 + da4320f commit b543765
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 5 deletions.
1 change: 0 additions & 1 deletion Utilities/StaticAnalyzers/scripts/data-class-funcs.py
Expand Up @@ -173,7 +173,6 @@
exact= r"^" + re.escape(flaggedclass) + r"$"
exactmatch=re.match(exact,dataclass)
if exactmatch:
if re.match(flaggedclass,dataclass):
print "Flagged event setup data class '"+dataclass+"' is accessed in call stack '",
path = nx.shortest_path(G,tfunc,dataclassfunc)
for p in path:
Expand Down
2 changes: 1 addition & 1 deletion Utilities/StaticAnalyzers/src/ClassChecker.cpp
Expand Up @@ -671,7 +671,7 @@ void ClassChecker::checkASTDecl(const clang::CXXRecordDecl *RD, clang::ento::Ana
WalkAST walker(this,BR, mgr.getAnalysisDeclContext(RD), (*(RD->ctor_begin()))->getMostRecentDecl() ) ;
std::string buf;
llvm::raw_string_ostream os(buf);
os << "Mutable member '" <<t.getAsString()<<" "<<*D << "' in data class '"<<support::getQualifiedName(*RD)<<"', might be thread-unsafe when accessing via a const handle.";
os << "Mutable member '" <<t.getCanonicalType().getAsString()<<" "<<*D << "' in data class '"<<support::getQualifiedName(*RD)<<"', might be thread-unsafe when accessing via a const handle.";
BR.EmitBasicReport(D, this, "Mutable member in data class",
"Data Class Const Correctness", os.str(), DLoc);
std::string pname = support::getQualifiedName(*(RD));
Expand Down
5 changes: 3 additions & 2 deletions Utilities/StaticAnalyzers/src/CmsSupport.cpp
Expand Up @@ -112,8 +112,9 @@ std::string support::getQualifiedName(const clang::NamedDecl &d) {
bool support::isSafeClassName(const std::string &cname) {

static const std::vector<std::string> names = {
"std::atomic",
"struct std::atomic",
"atomic<",
"std::atomic<",
"struct std::atomic<",
"std::__atomic_",
"std::mutex",
"std::recursive_mutex",
Expand Down
2 changes: 1 addition & 1 deletion Utilities/StaticAnalyzers/src/MutableMemberChecker.cpp
Expand Up @@ -29,7 +29,7 @@ void MutableMemberChecker::checkASTDecl(const clang::FieldDecl *D,
if ( ! support::isDataClass( D->getParent()->getQualifiedNameAsString() ) ) return;
std::string buf;
llvm::raw_string_ostream os(buf);
os << "Mutable member'" <<t.getAsString()<<" "<<*D << "' in class '"<<D->getParent()->getQualifiedNameAsString()<<"', might be thread-unsafe when accessing via a const handle.";
os << "Mutable member'" <<t.getCanonicalType().getAsString()<<" "<<*D << "' in class '"<<D->getParent()->getQualifiedNameAsString()<<"', might be thread-unsafe when accessing via a const handle.";
BR.EmitBasicReport(D, this, "mutable member",
"ThreadSafety", os.str(), DLoc);
return;
Expand Down

0 comments on commit b543765

Please sign in to comment.