1 //===--- Tool.cpp - Compilation Tools -------------------------------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "clang/Driver/Tool.h"
11 #include "InputInfo.h"
13 using namespace clang::driver;
15 Tool::Tool(const char *_Name, const char *_ShortName, const ToolChain &TC,
16 ResponseFileSupport _ResponseSupport,
17 llvm::sys::WindowsEncodingMethod _ResponseEncoding,
18 const char *_ResponseFlag)
19 : Name(_Name), ShortName(_ShortName), TheToolChain(TC),
20 ResponseSupport(_ResponseSupport), ResponseEncoding(_ResponseEncoding),
21 ResponseFlag(_ResponseFlag) {}
26 void Tool::ConstructJobMultipleOutputs(Compilation &C, const JobAction &JA,
27 const InputInfoList &Outputs,
28 const InputInfoList &Inputs,
29 const llvm::opt::ArgList &TCArgs,
30 const char *LinkingOutput) const {
31 assert(Outputs.size() == 1 && "Expected only one output by default!");
32 ConstructJob(C, JA, Outputs.front(), Inputs, TCArgs, LinkingOutput);