1218893Sdim//===--- Job.cpp - Command to Execute -------------------------------------===// 2193326Sed// 3193326Sed// The LLVM Compiler Infrastructure 4193326Sed// 5193326Sed// This file is distributed under the University of Illinois Open Source 6193326Sed// License. See LICENSE.TXT for details. 7193326Sed// 8193326Sed//===----------------------------------------------------------------------===// 9193326Sed 10193326Sed#include "clang/Driver/Job.h" 11226633Sdim#include "llvm/ADT/STLExtras.h" 12193326Sed#include <cassert> 13193326Sedusing namespace clang::driver; 14193326Sed 15193326SedJob::~Job() {} 16193326Sed 17234353Sdimvoid Command::anchor() {} 18234353Sdim 19200583SrdivackyCommand::Command(const Action &_Source, const Tool &_Creator, 20200583Srdivacky const char *_Executable, const ArgStringList &_Arguments) 21200583Srdivacky : Job(CommandClass), Source(_Source), Creator(_Creator), 22200583Srdivacky Executable(_Executable), Arguments(_Arguments) 23200583Srdivacky{ 24193326Sed} 25193326Sed 26193326SedJobList::JobList() : Job(JobListClass) {} 27193326Sed 28205219SrdivackyJobList::~JobList() { 29205219Srdivacky for (iterator it = begin(), ie = end(); it != ie; ++it) 30205219Srdivacky delete *it; 31205219Srdivacky} 32205219Srdivacky 33226633Sdimvoid JobList::clear() { 34226633Sdim DeleteContainerPointers(Jobs); 35226633Sdim} 36226633Sdim 37193326Sedvoid Job::addCommand(Command *C) { 38212904Sdim cast<JobList>(this)->addJob(C); 39193326Sed} 40198092Srdivacky 41