Add ArgList::MakeArgString and make ArgList::Make* const.
 - Slightly strange, but the idea is that the ArgList data structure
   is primarily a list of arguments; we want to allow clients to still
   add argument strings to an ArgList to avoid worrying about string
   lifetimes (or unnecessary string copying).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67086 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Driver/ArgList.cpp b/lib/Driver/ArgList.cpp
index d32d9f2..66fcb70 100644
--- a/lib/Driver/ArgList.cpp
+++ b/lib/Driver/ArgList.cpp
@@ -44,7 +44,7 @@
   return 0;
 }
 
-unsigned ArgList::MakeIndex(const char *String0) {
+unsigned ArgList::MakeIndex(const char *String0) const {
   unsigned Index = ArgStrings.size();
 
   // Tuck away so we have a reliable const char *.
@@ -54,7 +54,7 @@
   return Index;
 }
 
-unsigned ArgList::MakeIndex(const char *String0, const char *String1) {
+unsigned ArgList::MakeIndex(const char *String0, const char *String1) const {
   unsigned Index0 = MakeIndex(String0);
   unsigned Index1 = MakeIndex(String1);
   assert(Index0 + 1 == Index1 && "Unexpected non-consecutive indices!");
@@ -62,19 +62,23 @@
   return Index0;
 }
 
-Arg *ArgList::MakeFlagArg(const Option *Opt) {
+const char *ArgList::MakeArgString(const char *Str) const {
+  return getArgString(MakeIndex(Str));
+}
+
+Arg *ArgList::MakeFlagArg(const Option *Opt) const {
   return new FlagArg(Opt, MakeIndex(Opt->getName()));
 }
 
-Arg *ArgList::MakePositionalArg(const Option *Opt, const char *Value) {
+Arg *ArgList::MakePositionalArg(const Option *Opt, const char *Value) const {
   return new PositionalArg(Opt, MakeIndex(Value));
 }
 
-Arg *ArgList::MakeSeparateArg(const Option *Opt, const char *Value) {
+Arg *ArgList::MakeSeparateArg(const Option *Opt, const char *Value) const {
   return new SeparateArg(Opt, MakeIndex(Opt->getName(), Value), 1);
 }
 
-Arg *ArgList::MakeJoinedArg(const Option *Opt, const char *Value) {
+Arg *ArgList::MakeJoinedArg(const Option *Opt, const char *Value) const {
   std::string Joined(Opt->getName());
   Joined += Value;
   return new JoinedArg(Opt, MakeIndex(Joined.c_str()));