[cfe-commits] r134418 - in /cfe/trunk: include/clang/Driver/Option.h lib/Driver/Arg.cpp lib/Driver/ArgList.cpp lib/Driver/Option.cpp
Douglas Gregor
dgregor at apple.com
Tue Jul 5 09:56:25 PDT 2011
Author: dgregor
Date: Tue Jul 5 11:56:25 2011
New Revision: 134418
URL: http://llvm.org/viewvc/llvm-project?rev=134418&view=rev
Log:
StringRef'ize clang::drive::Option::getName(), from Zach Wheeler!
Modified:
cfe/trunk/include/clang/Driver/Option.h
cfe/trunk/lib/Driver/Arg.cpp
cfe/trunk/lib/Driver/ArgList.cpp
cfe/trunk/lib/Driver/Option.cpp
Modified: cfe/trunk/include/clang/Driver/Option.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Option.h?rev=134418&r1=134417&r2=134418&view=diff
==============================================================================
--- cfe/trunk/include/clang/Driver/Option.h (original)
+++ cfe/trunk/include/clang/Driver/Option.h Tue Jul 5 11:56:25 2011
@@ -11,6 +11,7 @@
#define CLANG_DRIVER_OPTION_H_
#include "clang/Driver/OptSpecifier.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Casting.h"
using llvm::isa;
using llvm::cast;
@@ -64,7 +65,7 @@
OptSpecifier ID;
/// The option name.
- const char *Name;
+ llvm::StringRef Name;
/// Group this option is a member of, if any.
const OptionGroup *Group;
@@ -103,7 +104,7 @@
unsigned getID() const { return ID.getID(); }
OptionClass getKind() const { return Kind; }
- const char *getName() const { return Name; }
+ llvm::StringRef getName() const { return Name; }
const OptionGroup *getGroup() const { return Group; }
const Option *getAlias() const { return Alias; }
@@ -143,7 +144,7 @@
/// getRenderName - Return the name to use when rendering this
/// option.
- const char *getRenderName() const {
+ llvm::StringRef getRenderName() const {
return getUnaliasedOption()->getName();
}
Modified: cfe/trunk/lib/Driver/Arg.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Arg.cpp?rev=134418&r1=134417&r2=134418&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/Arg.cpp (original)
+++ cfe/trunk/lib/Driver/Arg.cpp Tue Jul 5 11:56:25 2011
@@ -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;
Modified: cfe/trunk/lib/Driver/ArgList.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ArgList.cpp?rev=134418&r1=134417&r2=134418&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/ArgList.cpp (original)
+++ cfe/trunk/lib/Driver/ArgList.cpp Tue Jul 5 11:56:25 2011
@@ -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;
Modified: cfe/trunk/lib/Driver/Option.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Option.cpp?rev=134418&r1=134417&r2=134418&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/Option.cpp (original)
+++ cfe/trunk/lib/Driver/Option.cpp Tue Jul 5 11:56:25 2011
@@ -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));
}
More information about the cfe-commits
mailing list