зеркало из https://github.com/microsoft/clang-1.git
Driver: Add ArgList implementation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66037 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
a4cb9d3a36
Коммит
6ac1e2252b
|
@ -10,6 +10,7 @@
|
|||
#ifndef CLANG_DRIVER_ARGLIST_H_
|
||||
#define CLANG_DRIVER_ARGLIST_H_
|
||||
|
||||
#include "Util.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
|
||||
|
@ -34,7 +35,7 @@ namespace driver {
|
|||
ArgStringList ArgStrings;
|
||||
|
||||
/// The full list of arguments.
|
||||
llvm::SmallVector<Arg*, 16> Args;
|
||||
arglist_type Args;
|
||||
|
||||
/// A map of arguments by option ID; in conjunction with the
|
||||
/// intrusive list in Arg instances this allows iterating over all
|
||||
|
@ -42,7 +43,7 @@ namespace driver {
|
|||
llvm::DenseMap<unsigned, Arg*> ArgMap;
|
||||
|
||||
public:
|
||||
ArgList(unsigned argc, const char **argv);
|
||||
ArgList(const char **ArgBegin, const char **ArgEnd);
|
||||
ArgList(const ArgList &);
|
||||
~ArgList();
|
||||
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
//===--- ArgList.cpp - Argument List Management -------------------------*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "clang/Driver/ArgList.h"
|
||||
#include "clang/Driver/Arg.h"
|
||||
|
||||
using namespace clang::driver;
|
||||
|
||||
ArgList::ArgList(const char **ArgBegin, const char **ArgEnd) {
|
||||
ArgStrings.append(ArgBegin, ArgEnd);
|
||||
}
|
||||
|
||||
ArgList::~ArgList() {
|
||||
for (iterator it = begin(), ie = end(); it != ie; ++ie)
|
||||
delete *it;
|
||||
}
|
Загрузка…
Ссылка в новой задаче