diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-06-09 22:31:00 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-06-09 22:31:00 +0000 |
commit | 8f1ebabaf720e05a87fd38d1dfa2fecf52b839c4 (patch) | |
tree | 8719ab7954ed13745f22387cb1913d7aac5b361d /clang/lib/Driver/ArgList.cpp | |
parent | 0bcb62dc307a90ed7fc0e4f83c11498f575e148c (diff) | |
download | bcm5719-llvm-8f1ebabaf720e05a87fd38d1dfa2fecf52b839c4.tar.gz bcm5719-llvm-8f1ebabaf720e05a87fd38d1dfa2fecf52b839c4.zip |
Driver: Change Arg to just hold the values directly, instead of implicitly
deriving them from the Arg type.
llvm-svn: 105760
Diffstat (limited to 'clang/lib/Driver/ArgList.cpp')
-rw-r--r-- | clang/lib/Driver/ArgList.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/clang/lib/Driver/ArgList.cpp b/clang/lib/Driver/ArgList.cpp index ad067f108e9..9cf2eaf7c9f 100644 --- a/clang/lib/Driver/ArgList.cpp +++ b/clang/lib/Driver/ArgList.cpp @@ -264,23 +264,26 @@ Arg *DerivedArgList::MakeFlagArg(const Arg *BaseArg, const Option *Opt) const { Arg *DerivedArgList::MakePositionalArg(const Arg *BaseArg, const Option *Opt, llvm::StringRef Value) const { - Arg *A = new PositionalArg(Opt, BaseArgs.MakeIndex(Value), BaseArg); + unsigned Index = BaseArgs.MakeIndex(Value); + Arg *A = new PositionalArg(Opt, Index, BaseArgs.getArgString(Index), BaseArg); SynthesizedArgs.push_back(A); return A; } Arg *DerivedArgList::MakeSeparateArg(const Arg *BaseArg, const Option *Opt, llvm::StringRef Value) const { - Arg *A = new SeparateArg(Opt, BaseArgs.MakeIndex(Opt->getName(), Value), 1, - BaseArg); + unsigned Index = BaseArgs.MakeIndex(Opt->getName(), Value); + Arg *A = new SeparateArg(Opt, Index, BaseArgs.getArgString(Index), BaseArg); SynthesizedArgs.push_back(A); return A; } Arg *DerivedArgList::MakeJoinedArg(const Arg *BaseArg, const Option *Opt, llvm::StringRef Value) const { - Arg *A = new JoinedArg(Opt, BaseArgs.MakeIndex(Opt->getName() + Value.str()), - strlen(Opt->getName()), BaseArg); + unsigned Index = BaseArgs.MakeIndex(Opt->getName() + Value.str()); + Arg *A = new JoinedArg(Opt, Index, + BaseArgs.getArgString(Index) + strlen(Opt->getName()), + BaseArg); SynthesizedArgs.push_back(A); return A; } |