blob: 1b0ea18453d0660bfcea97c7ec55dc0aad88d5ab [file] [log] [blame]
Daniel Dunbar789e2202009-03-13 23:36:33 +00001//===--- Job.cpp - Command to Execute -----------------------------------*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#include "clang/Driver/Job.h"
11
12#include <cassert>
13using namespace clang::driver;
14
15Job::~Job() {}
16
Daniel Dunbarcae087e2009-07-01 19:02:28 +000017Command::Command(const Action &_Source, const char *_Executable,
18 const ArgStringList &_Arguments)
19 : Job(CommandClass), Source(_Source), Executable(_Executable),
20 Arguments(_Arguments) {
Daniel Dunbar789e2202009-03-13 23:36:33 +000021}
22
23PipedJob::PipedJob() : Job(PipedJobClass) {}
24
25JobList::JobList() : Job(JobListClass) {}
Daniel Dunbar871adcf2009-03-18 07:06:02 +000026
27void Job::addCommand(Command *C) {
28 if (PipedJob *PJ = dyn_cast<PipedJob>(this))
29 PJ->addCommand(C);
30 else
31 cast<JobList>(this)->addJob(C);
32}
33