Driver: Get rid of the proxy support in DerivedArgList.

llvm-svn: 105841
This commit is contained in:
Daniel Dunbar 2010-06-11 22:00:22 +00:00
parent 18974bdc68
commit 5c5d30b03a
2 changed files with 9 additions and 17 deletions

View File

@ -104,11 +104,11 @@ namespace driver {
typedef arglist_type::const_reverse_iterator const_reverse_iterator;
private:
/// The full list of arguments.
arglist_type &Args;
/// The internal list of arguments.
arglist_type Args;
protected:
ArgList(arglist_type &Args);
ArgList();
public:
virtual ~ArgList();
@ -267,9 +267,6 @@ namespace driver {
void operator=(const ArgList &); // DO NOT IMPLEMENT
private:
/// The internal list of arguments.
arglist_type ActualArgs;
/// List of argument strings used by the contained Args.
///
/// This is mutable since we treat the ArgList as being the list
@ -317,15 +314,9 @@ namespace driver {
class DerivedArgList : public ArgList {
InputArgList &BaseArgs;
/// The internal list of arguments.
arglist_type ActualArgs;
/// The list of arguments we synthesized.
mutable arglist_type SynthesizedArgs;
/// Is this only a proxy for the base ArgList?
bool OnlyProxy;
public:
/// Construct a new derived arg list from \arg BaseArgs.
///

View File

@ -36,7 +36,7 @@ void arg_iterator::SkipToNextArg() {
//
ArgList::ArgList(arglist_type &_Args) : Args(_Args) {
ArgList::ArgList() {
}
ArgList::~ArgList() {
@ -205,7 +205,7 @@ const char *ArgList::GetOrMakeJoinedArgString(unsigned Index,
//
InputArgList::InputArgList(const char **ArgBegin, const char **ArgEnd)
: ArgList(ActualArgs), NumInputArgStrings(ArgEnd - ArgBegin) {
: NumInputArgStrings(ArgEnd - ArgBegin) {
ArgStrings.append(ArgBegin, ArgEnd);
}
@ -240,9 +240,10 @@ const char *InputArgList::MakeArgString(llvm::StringRef Str) const {
//
DerivedArgList::DerivedArgList(InputArgList &_BaseArgs, bool _OnlyProxy)
: ArgList(_OnlyProxy ? _BaseArgs.getArgs() : ActualArgs),
BaseArgs(_BaseArgs), OnlyProxy(_OnlyProxy) {
DerivedArgList::DerivedArgList(InputArgList &_BaseArgs, bool OnlyProxy)
: BaseArgs(_BaseArgs) {
if (OnlyProxy)
getArgs() = _BaseArgs.getArgs();
}
DerivedArgList::~DerivedArgList() {