summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Arg.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-03-04 23:02:50 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-03-04 23:02:50 +0000
commit135837e046948fc858446c22dbfca83dd9df56aa (patch)
tree11293e552fb1d172131709fe3f3efecda020d12c /clang/lib/Driver/Arg.cpp
parent5e55d41cd772005ad9da842031839acbf4aa6e0b (diff)
downloadbcm5719-llvm-135837e046948fc858446c22dbfca83dd9df56aa.tar.gz
bcm5719-llvm-135837e046948fc858446c22dbfca83dd9df56aa.zip
Driver: Add Arg::dump and SeparateArg stubs.
llvm-svn: 66100
Diffstat (limited to 'clang/lib/Driver/Arg.cpp')
-rw-r--r--clang/lib/Driver/Arg.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/clang/lib/Driver/Arg.cpp b/clang/lib/Driver/Arg.cpp
index ad3c16d98aa..9f0ed7245d1 100644
--- a/clang/lib/Driver/Arg.cpp
+++ b/clang/lib/Driver/Arg.cpp
@@ -8,6 +8,8 @@
//===----------------------------------------------------------------------===//
#include "clang/Driver/Arg.h"
+#include "clang/Driver/Option.h"
+#include "llvm/Support/raw_ostream.h"
using namespace clang::driver;
@@ -20,6 +22,33 @@ Arg::Arg(ArgClass _Kind, const Option *_Opt, unsigned _Index)
Arg::~Arg() { }
+void Arg::dump() const {
+ llvm::errs() << "<";
+ switch (Kind) {
+ default:
+ assert(0 && "Invalid kind");
+#define P(N) case N: llvm::errs() << #N; break
+ P(PositionalClass);
+ P(JoinedClass);
+ P(SeparateClass);
+ P(CommaJoinedClass);
+ P(JoinedAndSeparateClass);
+#undef P
+ }
+
+ llvm::errs() << " Opt:";
+ Opt->dump();
+
+ llvm::errs() << " Index:" << Index;
+
+ if (const CommaJoinedArg *CJA = dyn_cast<CommaJoinedArg>(this))
+ llvm::errs() << " NumValues:" << CJA->getNumValues();
+
+ llvm::errs() << ">\n";
+
+ llvm::errs().flush(); // FIXME
+}
+
PositionalArg::PositionalArg(const Option *Opt, unsigned Index)
: Arg(PositionalClass, Opt, Index) {
}
@@ -57,6 +86,18 @@ const char *CommaJoinedArg::getValue(const ArgList &Args, unsigned N) const {
assert(0 && "FIXME: Implement");
}
+SeparateArg::SeparateArg(const Option *Opt, unsigned Index, unsigned _NumValues)
+ : Arg(SeparateClass, Opt, Index), NumValues(_NumValues) {
+}
+
+void SeparateArg::render(const ArgList &Args, ArgStringList &Output) const {
+ assert(0 && "FIXME: Implement");
+}
+
+const char *SeparateArg::getValue(const ArgList &Args, unsigned N) const {
+ assert(0 && "FIXME: Implement");
+}
+
JoinedAndSeparateArg::JoinedAndSeparateArg(const Option *Opt, unsigned Index)
: Arg(JoinedAndSeparateClass, Opt, Index) {
}
OpenPOWER on IntegriCloud