Hello,
I’m currently working on the bash-autocompletion project as my GSoC project, and I noticed that some external options (as opposed to cc1 internal options) lack help texts. That is inconvenient not only for users who runs clang with --help but for me because I’m using the following heuristics to determine whether my script should autocomplete an option or not (we don’t want to autocomplete internal options):
I’d like to propose to set a rule about command line options defined in Options.td and their help messages. My proposal is that, if an option is intended to be used by users, it should have a HelpText.
A command line option is considered external if it
-
has an HelpText or GroupID, and
-
doesn’t have NoDriverOption, Unsupported or Ignore bit,
but the heuristic don’t work quite well because some options don’t have HelpText, such as this.
def _sysroot_EQ : Joined<[“–”], “sysroot=”>;
So I’ll be adding HelpTexts to all external options, so that they look like this.
def _sysroot_EQ : Joined<[“–”], “sysroot=”>, HelpText<“use a given directory as the logical root directory for headers and libraries”>;
I believe this is in general a good thing to do, so when you add a new command line flag, and if that is intended to be used by users, please write a help message!
Thanks,
Yuka