[llvm-dev] [GSoC][clang] Bash completion for clang project

Yuka Takahashi via llvm-dev llvm-dev at lists.llvm.org
Wed May 31 06:21:17 PDT 2017


Hello,

My name is Yuka Takahshi and I would like to ask few questions regarding to
GSoC project : bash-autocompletion for clang.
We are now trying to build flag completions for which we call "value".
Eg. in -std=c++11, c++11 is a "value", and in
-analyzer-checker=alpha.cplusplus, alpha.cplusplus is a "value".

We are planning to implement most of the code in OptTable.cpp, in order to
reuse OptTable, which is generated by Options.inc.
Options.inc is generated via Tablegen from Options.td, so we are planning
to add the information of values into Options.td.

I would like to ask for a advice regarding how to implement the flag like
"-std=" and "-analyzer-checker=".
These flags are unique because their value information are already in
LangStandards.def for "-std=", and Checkers.td for "-analyzer-checker=".
We are thinking to reuse these information and add these information to
Options.inc, so that we can handle the flag completion in unified manner.
This way of implementation has further benefits from this GSoC project,
because from this we can make documentation more simply and reduce custom
handling of each value and code duplication.

The problem is that, we are not sure what is the best way for this
implementaion.
For flags which are not like "-std=" and "-analyzer-checker=", we decided
to add a class to hold the value information in Options.td. Eg. for
"-stdlib=", ArgValues<"libc++, libstdc++, platform">.
So we are looking for how to generate something like "libc++, libstdc++,
platform" from LangStandards.def and Checkers.td for "-std=" and
"-analyzer-checker=".


Regards,
 Yuka
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170531/88b0fe8e/attachment.html>


More information about the llvm-dev mailing list