StringRef'ize clang::drive::Option::getName(), from Zach Wheeler!

llvm-svn: 134418
diff --git a/clang/lib/Driver/Arg.cpp b/clang/lib/Driver/Arg.cpp
index f1177cf..39b7e55 100644
--- a/clang/lib/Driver/Arg.cpp
+++ b/clang/lib/Driver/Arg.cpp
@@ -113,7 +113,7 @@
     break;
 
   case Option::RenderSeparateStyle:
-    Output.push_back(getOption().getName());
+    Output.push_back(getOption().getName().data());
     for (unsigned i = 0, e = getNumValues(); i != e; ++i)
       Output.push_back(getValue(Args, i));
     break;
diff --git a/clang/lib/Driver/ArgList.cpp b/clang/lib/Driver/ArgList.cpp
index 596e2a7..b8af9cc 100644
--- a/clang/lib/Driver/ArgList.cpp
+++ b/clang/lib/Driver/ArgList.cpp
@@ -287,9 +287,9 @@
 
 Arg *DerivedArgList::MakeJoinedArg(const Arg *BaseArg, const Option *Opt,
                                    llvm::StringRef Value) const {
-  unsigned Index = BaseArgs.MakeIndex(Opt->getName() + Value.str());
+  unsigned Index = BaseArgs.MakeIndex(Opt->getName().str() + Value.str());
   Arg *A = new Arg(Opt, Index,
-                   BaseArgs.getArgString(Index) + strlen(Opt->getName()),
+                   BaseArgs.getArgString(Index) + Opt->getName().size(),
                    BaseArg);
   SynthesizedArgs.push_back(A);
   return A;
diff --git a/clang/lib/Driver/Option.cpp b/clang/lib/Driver/Option.cpp
index a992cef..90d21a3 100644
--- a/clang/lib/Driver/Option.cpp
+++ b/clang/lib/Driver/Option.cpp
@@ -144,7 +144,7 @@
 Arg *FlagOption::accept(const ArgList &Args, unsigned &Index) const {
   // Matches iff this is an exact match.
   // FIXME: Avoid strlen.
-  if (strlen(getName()) != strlen(Args.getArgString(Index)))
+  if (getName().size() != strlen(Args.getArgString(Index)))
     return 0;
 
   return new Arg(getUnaliasedOption(), Index++);
@@ -157,7 +157,7 @@
 
 Arg *JoinedOption::accept(const ArgList &Args, unsigned &Index) const {
   // Always matches.
-  const char *Value = Args.getArgString(Index) + strlen(getName());
+  const char *Value = Args.getArgString(Index) + getName().size();
   return new Arg(getUnaliasedOption(), Index++, Value);
 }
 
@@ -170,7 +170,7 @@
 Arg *CommaJoinedOption::accept(const ArgList &Args,
                                unsigned &Index) const {
   // Always matches.
-  const char *Str = Args.getArgString(Index) + strlen(getName());
+  const char *Str = Args.getArgString(Index) + getName().size();
   Arg *A = new Arg(getUnaliasedOption(), Index++);
 
   // Parse out the comma separated values.
@@ -205,7 +205,7 @@
 Arg *SeparateOption::accept(const ArgList &Args, unsigned &Index) const {
   // Matches iff this is an exact match.
   // FIXME: Avoid strlen.
-  if (strlen(getName()) != strlen(Args.getArgString(Index)))
+  if (getName().size() != strlen(Args.getArgString(Index)))
     return 0;
 
   Index += 2;
@@ -225,7 +225,7 @@
 Arg *MultiArgOption::accept(const ArgList &Args, unsigned &Index) const {
   // Matches iff this is an exact match.
   // FIXME: Avoid strlen.
-  if (strlen(getName()) != strlen(Args.getArgString(Index)))
+  if (getName().size() != strlen(Args.getArgString(Index)))
     return 0;
 
   Index += 1 + NumArgs;
@@ -250,8 +250,8 @@
                                     unsigned &Index) const {
   // If this is not an exact match, it is a joined arg.
   // FIXME: Avoid strlen.
-  if (strlen(getName()) != strlen(Args.getArgString(Index))) {
-    const char *Value = Args.getArgString(Index) + strlen(getName());
+  if (getName().size() != strlen(Args.getArgString(Index))) {
+    const char *Value = Args.getArgString(Index) + getName().size();
     return new Arg(this, Index++, Value);
   }
 
@@ -279,6 +279,6 @@
     return 0;
 
   return new Arg(getUnaliasedOption(), Index - 2,
-                 Args.getArgString(Index-2)+strlen(getName()),
+                 Args.getArgString(Index-2)+getName().size(),
                  Args.getArgString(Index-1));
 }