aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Driver/OptTable.h
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-11-19 06:35:06 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-11-19 06:35:06 +0000
commit847abaa62883b6c20005bdd3346ebbd44e46dbac (patch)
treeb27934d88fedf88d4ef1fe9395246b3ee8ae7e3a /include/clang/Driver/OptTable.h
parentc720a4d6a69b33bc69729ad269c251bd32215851 (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.h23
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;
};
}
}