The CloneDetector currently ignores template arguments in function calls which leads to false-positive clones such as isa<Expr>(S) and isa<Stmt>(S).
This patch adds functionality to handle template arguments for those function calls.
Paths
| Differential D23555
[analyzer] CloneDetector now checks template arguments of function calls. ClosedPublic Authored by teemperor on Aug 16 2016, 6:58 AM.
Details Summary The CloneDetector currently ignores template arguments in function calls which leads to false-positive clones such as isa<Expr>(S) and isa<Stmt>(S). This patch adds functionality to handle template arguments for those function calls.
Diff Detail Event Timeline
This revision is now accepted and ready to land.Aug 17 2016, 7:38 AM Closed by commit rL279366: [analyzer] Make CloneDetector consider template arguments. (authored by dergachev). · Explain WhyAug 20 2016, 3:05 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 68683 lib/Analysis/CloneDetection.cpp
test/Analysis/copypaste/call.cpp
|
Maybe if (const FunctionDecl *D = S->getDirectCallee()) here, and then use D everywhere inside the if?