[cfe-dev] Clang returns Parameter names instead of Arguments

Dhriti Khanna via cfe-dev cfe-dev at lists.llvm.org
Mon Aug 8 11:34:19 PDT 2016


I am working with clang version 3.8. I have a MPI program which is causing
the problem. Version 4.9.3 of mpiCC. I guess you will be able to reproduce
the problem with a simple mpi program.

Also, I use this compile_commands.json file:
[
{
  "directory": "~/Dropbox/CLANG_MPI_LLVM/MPI",
  "command": "mpiCC -I/usr/include/mpi BasicMPIProgram.cpp",
  "file": "~/Dropbox/CLANG_MPI_LLVM/MPI/BasicMPIProgram.cpp"
}
]

And this to run the clang tool on a mpi source file: ./tool -p
~/Dropbox/CLANG_MPI_LLVM/MPI BasicMPIProgram.cpp




On Mon, Aug 8, 2016 at 12:52 AM, Aaron Ballman <aaron at aaronballman.com>
wrote:

> On Sun, Aug 7, 2016 at 9:06 AM, Dhriti Khanna via cfe-dev
> <cfe-dev at lists.llvm.org> wrote:
> > Hello,
> >
> > I want to print the arguments passed to a function. But clang returns
> > Parameter names used in the function definition. Here is my code:
> >
> > if (CallExpr *call = dyn_cast<CallExpr>(st))
> > {
> >     LangOptions LangOpts;
> >     LangOpts.CPlusPlus = true;
> >     PrintingPolicy Policy(LangOpts);
> >
> >     for(int i=0, j=call->getNumArgs(); i<j; i++)
> >     {
> >         std::string TypeS;
> >         raw_string_ostream raw(TypeS);
> >         call->getArg(i)->printPretty(raw, 0, Policy);
> >         errs() << raw.str() << "\n";
> >     }
> > }
> > Example:
> > int iArgument = 123;
> > char cArgument = 'c';
> > foo(iArgument, cArgument);
> > For this code, it should print iArgument and cArgument, but it is
> printing
> > the names of the parameters given in function definition.
> >
> > Please tell what might be the problem.
>
> I cannot reproduce this issue. Are you testing with ToT, or some other
> version of Clang?
>
> > Also, I am able to get the arguments' name when I am using a simple C++
> > code. But when I start using another library's API (for that I am
> specifying
> > compile_commands.json file), this presents problems.
>
> Can you give some steps to reproduce? Is it possible that the other
> library's API is what's causing the problem?
>
> ~Aaron
>
> >
> > --
> > Regards,
> > Dhriti Khanna
> > PhD Scholar
> > IIIT Delhi
> >
> > _______________________________________________
> > cfe-dev mailing list
> > cfe-dev at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
> >
>



-- 
Regards,
Dhriti Khanna
PhD Scholar
IIIT Delhi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160809/b1e3ddb3/attachment.html>


More information about the cfe-dev mailing list