forked from OSchip/llvm-project
Driver: Get rid of the proxy support in DerivedArgList.
llvm-svn: 105841
This commit is contained in:
parent
18974bdc68
commit
5c5d30b03a
|
@ -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.
|
||||
///
|
||||
|
|
|
@ -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() {
|
||||
|
|
Loading…
Reference in New Issue