diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-03-12 18:24:49 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-03-12 18:24:49 +0000 |
commit | d65bddcbe1385a4de212ecbbdc8919c54b3efeb0 (patch) | |
tree | be10b2d9377a13a9dd9474dc906c2f221ea741e1 | |
parent | 9f5ef9426fee383cb42b72cee1d6dc949c8c0189 (diff) |
Driver: Introduce ActionList typedef, tweak some constness.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66809 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/Driver/Driver.h | 17 | ||||
-rw-r--r-- | include/clang/Driver/Util.h | 8 | ||||
-rw-r--r-- | lib/Driver/Driver.cpp | 12 |
3 files changed, 18 insertions, 19 deletions
diff --git a/include/clang/Driver/Driver.h b/include/clang/Driver/Driver.h index 1dcb8af8f1..dc1814cb6d 100644 --- a/include/clang/Driver/Driver.h +++ b/include/clang/Driver/Driver.h @@ -12,15 +12,12 @@ #include "clang/Basic/Diagnostic.h" +#include "clang/Driver/Util.h" + #include <list> #include <set> #include <string> -namespace llvm { - template<typename T, unsigned N> class SmallVector; - class raw_ostream; -} - namespace clang { namespace driver { class Action; @@ -103,10 +100,10 @@ public: Compilation *BuildCompilation(int argc, const char **argv); /// PrintOptions - Print the list of arguments. - void PrintOptions(const ArgList &Args); + void PrintOptions(const ArgList &Args) const; /// PrintActions - Print the list of actions. - void PrintActions(const llvm::SmallVector<Action*, 2> &Actions); + void PrintActions(const ActionList &Actions) const; /// GetHostInfo - Construct a new host info object for the given /// host triple. @@ -117,16 +114,14 @@ public: /// /// \param Args - The input arguments. /// \param Actions - The list to store the resulting actions onto. - void BuildUniversalActions(const ArgList &Args, - llvm::SmallVector<Action*, 2> &Actions); + void BuildUniversalActions(ArgList &Args, ActionList &Actions); /// BuildActions - Construct the list of actions to perform for the /// given arguments, which are only done for a single architecture. /// /// \param Args - The input arguments. /// \param Actions - The list to store the resulting actions onto. - void BuildActions(const ArgList &Args, - llvm::SmallVector<Action*, 2> &Actions); + void BuildActions(ArgList &Args, ActionList &Actions); }; } // end namespace driver diff --git a/include/clang/Driver/Util.h b/include/clang/Driver/Util.h index eb5d2471c8..465d81a1f3 100644 --- a/include/clang/Driver/Util.h +++ b/include/clang/Driver/Util.h @@ -10,13 +10,19 @@ #ifndef CLANG_DRIVER_UTIL_H_ #define CLANG_DRIVER_UTIL_H_ -#include "llvm/ADT/SmallVector.h" +namespace llvm { + template<typename T, unsigned N> class SmallVector; +} namespace clang { namespace driver { + class Action; + /// ArgStringList - Type used for constructing argv lists for subprocesses. typedef llvm::SmallVector<const char*, 16> ArgStringList; + /// ActionList - Type used for lists of actions. + typedef llvm::SmallVector<Action*, 3> ActionList; } // end namespace driver } // end namespace clang diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp index 61cc89545c..2b763c6ae5 100644 --- a/lib/Driver/Driver.cpp +++ b/lib/Driver/Driver.cpp @@ -132,7 +132,7 @@ Compilation *Driver::BuildCompilation(int argc, const char **argv) { // Construct the list of abstract actions to perform for this // compilation. - llvm::SmallVector<Action*, 2> Actions; + ActionList Actions; if (Host->useDriverDriver()) BuildUniversalActions(*Args, Actions); else @@ -149,7 +149,7 @@ Compilation *Driver::BuildCompilation(int argc, const char **argv) { return new Compilation(); } -void Driver::PrintOptions(const ArgList &Args) { +void Driver::PrintOptions(const ArgList &Args) const { unsigned i = 0; for (ArgList::const_iterator it = Args.begin(), ie = Args.end(); it != ie; ++it, ++i) { @@ -166,18 +166,16 @@ void Driver::PrintOptions(const ArgList &Args) { } } -void Driver::PrintActions(const llvm::SmallVector<Action*, 2> &Actions) { +void Driver::PrintActions(const ActionList &Actions) const { llvm::errs() << "FIXME: Print actions."; } -void Driver::BuildUniversalActions(const ArgList &Args, - llvm::SmallVector<Action*, 2> &Actions) { +void Driver::BuildUniversalActions(ArgList &Args, ActionList &Actions) { // FIXME: Implement BuildActions(Args, Actions); } -void Driver::BuildActions(const ArgList &Args, - llvm::SmallVector<Action*, 2> &Actions) { +void Driver::BuildActions(ArgList &Args, ActionList &Actions) { types::ID InputType = types::TY_INVALID; Arg *InputTypeArg = 0; |