[cfe-dev] [bug?] How to use EmitLLVMOnlyAction in clang tool?
Viktor Was BSc via cfe-dev
cfe-dev at lists.llvm.org
Mon Apr 29 18:32:54 PDT 2019
When trying to run an EmitLLVMOnlyAction via ClangTool::run(act_factory) I get the following error:
Clang: Not enough positional command line arguments specified!
Stepping through the code I found that there seems to be a problem in setCommandLineOpts in clang/lib/CodeGen/BackendUtils.cpp, the BackendArgs.push_back with literals doesn't seem to work and a corrupt SmallVector is passed to ParseCommandLineOptions.
Why is setCommandLineOpts even called, isn't EmitLLVMOnlyAction supposed to create llvm::Module in memory only without without outputting it to a file? Did I misinterpret the Emit_Nothing flag? What does EmitLLVMOnlyAction do?
What command line args does EmitLLVMOnlyAction expect?
Cmd line: mytool test.cpp -p=compile_commands.json
Compile_commands:
{
"directory":"path/to/build",
"command": "/usr/local/bin/clang++ -Ipath/to/include - std=c++11 -Wall -o path/to/test.cpp.o -c /path/to/test.cpp",
"file": "/path/to/test.cpp"
}
Thanks,
Viktor
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20190430/fd0da6f1/attachment.html>
More information about the cfe-dev
mailing list