[PATCH] D36441: Add Support for Reference Counting of Parameters on the Callee Side in RetainCountChecker
Devin Coughlin via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 14 14:42:20 PDT 2017
dcoughlin added a comment.
Thanks! This looks good to me, with the note about factoring out the duplicated logic addressed, Would you factor out that logic into a static function and update phabricator summary to be a commit message. Then I will commit!
Comment at: lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp:3971
+ const ArgEffect *AE = CalleeSideArgEffects.lookup(idx);
+ if (AE && *AE == DecRef && Ty.getAsString().substr(0, 4) == "isl_")
+ state = setRefBinding(state, Sym, RefVal::makeOwned(RetEffect::ObjKind::Generalized, Ty));
Can you factor out the logic that looks whether the type name starts with "isl_" to a static function that types a type and is called something 'isGeneralizedObjectRef"? This will avoid duplicating the logic twice here and will also give us a single place to update when we add an attribute indicating that a type is reference counted.
More information about the cfe-commits