[cfe-dev] Finding all instances of calls to a specific function using ASTMatcher

Nikola Smiljanic popizdeh at gmail.com
Sat Apr 18 20:50:41 PDT 2015


I'm not an expert on this but I think that's what you get by generating a
compilation database for your project and feeding it to your tool.
On Apr 19, 2015 1:09 PM, "Saheel Godhane" <srgodhane at ucdavis.edu> wrote:

>
>
> On Friday, April 17, 2015, Nikola Smiljanic <popizdeh at gmail.com> wrote:
>
>> Use clang-query to try things out, you'll need to generate compilation
>> database to use it but that shouldn't be too hard. It sure beats having to
>> recompile your code to test it.
>>
>> The matcher you're after is probably
>> callExpr(callee(functionDecl(hasName("malloc"))))
>>
>
> Hi Nikola,
>
> I had a related question. Can I run such a matcher on a whole program? I
> am currently using the CSA framework but running into some issues and I
> think using the matchers suit my task better.
>
> Thanks for your reply!
> Saheel.
>
>
>>
>>
>> On Tue, Apr 7, 2015 at 10:49 AM, Riyad Parvez <riyad.parvez at gmail.com>
>> wrote:
>> >
>> > Hi All,
>> >
>> > I want to find all the instances of calls to a specific function. Right
>> now, I can find all the function calls using ASTMatcher using following
>> code:
>> >
>> > Finder.addMatcher(
>> >
>> callExpr(hasParent(binaryOperator(hasOperatorName("=")).bind("assignment"))).bind("functionCall"),
>> >       &HandlerForFunctionCall);
>> >
>> > But I want to find all the function calls whose name is say "malloc". I
>> know how do that using classic "RecursiveASTVisitor" class, but how can I
>> do this using ASTMatcher?
>> >
>> > Thanks
>> > Riyad
>> > _______________________________________________
>> > cfe-dev mailing list
>> > cfe-dev at cs.uiuc.edu
>> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20150419/38f4a22b/attachment.html>


More information about the cfe-dev mailing list