diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-11-19 06:35:06 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-11-19 06:35:06 +0000 |
commit | 847abaa62883b6c20005bdd3346ebbd44e46dbac (patch) | |
tree | b27934d88fedf88d4ef1fe9395246b3ee8ae7e3a /include/clang/Driver/OptTable.h | |
parent | c720a4d6a69b33bc69729ad269c251bd32215851 (diff) |
Factor out OptTable::ParseArgs, for parsing an entire argument vector.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89327 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Driver/OptTable.h')
-rw-r--r-- | include/clang/Driver/OptTable.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/include/clang/Driver/OptTable.h b/include/clang/Driver/OptTable.h index 46e3889d5d..faaeba69e2 100644 --- a/include/clang/Driver/OptTable.h +++ b/include/clang/Driver/OptTable.h @@ -124,7 +124,7 @@ namespace options { return getInfo(id).MetaVar; } - /// parseOneArg - Parse a single argument; returning the new argument and + /// ParseOneArg - Parse a single argument; returning the new argument and /// updating Index. /// /// \param [in] [out] Index - The current parsing position in the argument @@ -135,6 +135,27 @@ namespace options { /// (in which case Index still points at the conceptual next argument string /// to parse). Arg *ParseOneArg(const InputArgList &Args, unsigned &Index) const; + + /// ParseArgs - Parse an list of arguments into an InputArgList. + /// + /// The resulting InputArgList will reference the strings in [ArgBegin, + /// ArgEnd), and their lifetime should extend past that of the returned + /// InputArgList. + /// + /// The only error that can occur in this routine is if an argument is + /// missing values; in this case \arg MissingArgCount will be non-zero. + /// + /// \param ArgBegin - The beginning of the argument vector. + /// \param ArgEnd - The end of the argument vector. + /// \param MissingArgIndex - On error, the index of the option which could + /// not be parsed. + /// \param MissingArgCount - On error, the number of missing options. + /// \return - An InputArgList; on error this will contain all the options + /// which could be parsed. + InputArgList *ParseArgs(const char **ArgBegin, + const char **ArgEnd, + unsigned &MissingArgIndex, + unsigned &MissingArgCount) const; }; } } |