]> granicus.if.org Git - clang/commitdiff
Driver: Add ArgList::{append, getArgString}
authorDaniel Dunbar <daniel@zuster.org>
Wed, 4 Mar 2009 22:40:08 +0000 (22:40 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Wed, 4 Mar 2009 22:40:08 +0000 (22:40 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66089 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Driver/ArgList.h
lib/Driver/ArgList.cpp

index 9eefa8a127449fb387c9a06af38e0004b8ebf0da..c4f3bbc1a458f010d02e7c84a5a7536dbac25438 100644 (file)
@@ -48,6 +48,12 @@ namespace driver {
 
     const_iterator begin() const { return Args.begin(); }
     const_iterator end() const { return Args.end(); }
+    
+    /// append - Append \arg A to the arg list, taking ownership.
+    void append(Arg *A);
+
+    /// getArgString - Return the input argument string at \arg Index.
+    const char *getArgString(unsigned Index) const { return ArgStrings[Index]; }
   };
 } // end namespace driver
 } // end namespace clang
index a8b00bb750d2e82570280e8eecadaacad2cf0508..a45e9d67b2161ec5d37ccba5286f8b58b2e6b765 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "clang/Driver/ArgList.h"
 #include "clang/Driver/Arg.h"
+#include "clang/Driver/Option.h"
 
 using namespace clang::driver;
 
@@ -20,3 +21,11 @@ ArgList::~ArgList() {
   for (iterator it = begin(), ie = end(); it != ie; ++ie)
     delete *it;
 }
+
+void ArgList::append(Arg *A) {
+  if (A->getOption().isUnsupported()) {
+    assert(0 && "FIXME: unsupported unsupported.");
+  }
+
+  Args.push_back(A);
+}