aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/clang/Driver/ArgList.h15
-rw-r--r--lib/Driver/ArgList.cpp11
2 files changed, 9 insertions, 17 deletions
diff --git a/include/clang/Driver/ArgList.h b/include/clang/Driver/ArgList.h
index 862b369fea..40f6805e7d 100644
--- a/include/clang/Driver/ArgList.h
+++ b/include/clang/Driver/ArgList.h
@@ -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.
///
diff --git a/lib/Driver/ArgList.cpp b/lib/Driver/ArgList.cpp
index 1b6ba94400..63f1deec7f 100644
--- a/lib/Driver/ArgList.cpp
+++ b/lib/Driver/ArgList.cpp
@@ -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() {