1*7330f729Sjoerg //===--- TCE.cpp - TCE ToolChain Implementations ----------------*- C++ -*-===//
2*7330f729Sjoerg //
3*7330f729Sjoerg // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*7330f729Sjoerg // See https://llvm.org/LICENSE.txt for license information.
5*7330f729Sjoerg // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*7330f729Sjoerg //
7*7330f729Sjoerg //===----------------------------------------------------------------------===//
8*7330f729Sjoerg
9*7330f729Sjoerg #include "TCE.h"
10*7330f729Sjoerg #include "CommonArgs.h"
11*7330f729Sjoerg
12*7330f729Sjoerg using namespace clang::driver;
13*7330f729Sjoerg using namespace clang::driver::toolchains;
14*7330f729Sjoerg using namespace clang;
15*7330f729Sjoerg using namespace llvm::opt;
16*7330f729Sjoerg
17*7330f729Sjoerg /// TCEToolChain - A tool chain using the llvm bitcode tools to perform
18*7330f729Sjoerg /// all subcommands. See http://tce.cs.tut.fi for our peculiar target.
19*7330f729Sjoerg /// Currently does not support anything else but compilation.
20*7330f729Sjoerg
TCEToolChain(const Driver & D,const llvm::Triple & Triple,const ArgList & Args)21*7330f729Sjoerg TCEToolChain::TCEToolChain(const Driver &D, const llvm::Triple &Triple,
22*7330f729Sjoerg const ArgList &Args)
23*7330f729Sjoerg : ToolChain(D, Triple, Args) {
24*7330f729Sjoerg // Path mangling to find libexec
25*7330f729Sjoerg std::string Path(getDriver().Dir);
26*7330f729Sjoerg
27*7330f729Sjoerg Path += "/../libexec";
28*7330f729Sjoerg getProgramPaths().push_back(Path);
29*7330f729Sjoerg }
30*7330f729Sjoerg
~TCEToolChain()31*7330f729Sjoerg TCEToolChain::~TCEToolChain() {}
32*7330f729Sjoerg
IsMathErrnoDefault() const33*7330f729Sjoerg bool TCEToolChain::IsMathErrnoDefault() const { return true; }
34*7330f729Sjoerg
isPICDefault() const35*7330f729Sjoerg bool TCEToolChain::isPICDefault() const { return false; }
36*7330f729Sjoerg
isPIEDefault() const37*7330f729Sjoerg bool TCEToolChain::isPIEDefault() const { return false; }
38*7330f729Sjoerg
isPICDefaultForced() const39*7330f729Sjoerg bool TCEToolChain::isPICDefaultForced() const { return false; }
40*7330f729Sjoerg
TCELEToolChain(const Driver & D,const llvm::Triple & Triple,const ArgList & Args)41*7330f729Sjoerg TCELEToolChain::TCELEToolChain(const Driver &D, const llvm::Triple& Triple,
42*7330f729Sjoerg const ArgList &Args)
43*7330f729Sjoerg : TCEToolChain(D, Triple, Args) {
44*7330f729Sjoerg }
45*7330f729Sjoerg
~TCELEToolChain()46*7330f729Sjoerg TCELEToolChain::~TCELEToolChain() {}
47