aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-03-12 18:24:49 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-03-12 18:24:49 +0000
commitd65bddcbe1385a4de212ecbbdc8919c54b3efeb0 (patch)
treebe10b2d9377a13a9dd9474dc906c2f221ea741e1
parent9f5ef9426fee383cb42b72cee1d6dc949c8c0189 (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.h17
-rw-r--r--include/clang/Driver/Util.h8
-rw-r--r--lib/Driver/Driver.cpp12
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;