[cfe-dev] Clang returns Parameter names instead of Arguments
Alexander Droste via cfe-dev
cfe-dev at lists.llvm.org
Mon Aug 15 03:49:18 PDT 2016
Hi,
this was rather a blind guess what might fix this
behavior but obviously this is related to sth. else.
If possible, maybe you could also try a different MPI
implementation (and/or version).
-Alex
On 15.08.16 12:04, Dhriti Khanna wrote:
> Hello,
>
> I used intercept-build to generate the compilation database for an MPI program
> but I am not able to get the argument names.
>
> This is the compile_commands.json file:
>
> [
> {
> "command": "c++ -c -I/usr/include/mpi -I/usr/lib/openmpi/include
> -I/usr/lib/openmpi/include/openmpi -pthread BasicMPIProgram.cpp",
> "directory": "/home/dhriti/Dropbox/CLANG_MPI_LLVM/MPI",
> "file": "/home/dhriti/Dropbox/CLANG_MPI_LLVM/MPI/BasicMPIProgram.cpp"
> }
> ]
>
>
> On Tue, Aug 9, 2016 at 12:24 AM, Alexander Droste
> <alexander.ra.droste at googlemail.com <mailto:alexander.ra.droste at googlemail.com>>
> wrote:
>
> Hi Dhriti,
>
> when applying analysis scripts on an MPI project,
> I experienced problems in case mpicc|mpic++ is denoted
> as the used compiler in the compile_commands.json file.
> From my experience this is what CMake does if
> -DCMAKE_EXPORT_COMPILE_COMMANDS=1 is used for an MPI project.
> A possible workaround could be to use the scan-build intercept script
> as described here: https://github.com/0ax1/MPI-Checker/tree/master/examples
> <https://github.com/0ax1/MPI-Checker/tree/master/examples>,
> to generate the compilation database.
>
> -Alex
>
>
> On 08.08.16 20:34, Dhriti Khanna via cfe-dev wrote:
>
> 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
> <mailto:aaron at aaronballman.com>
> <mailto:aaron at aaronballman.com <mailto: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 <mailto:cfe-dev at lists.llvm.org>
> <mailto:cfe-dev at lists.llvm.org <mailto: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 <mailto:cfe-dev at lists.llvm.org>
> <mailto:cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>>
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
> <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev>
> <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
> <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev>>
> >
>
>
>
>
> --
> Regards,
> Dhriti Khanna
> PhD Scholar
> IIIT Delhi
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
> <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev>
>
>
>
>
> --
> Regards,
> Dhriti Khanna
> PhD Scholar
> IIIT Delhi
More information about the cfe-dev
mailing list