xref: /netbsd-src/external/apache2/llvm/dist/clang/lib/Driver/ToolChains/TCE.cpp (revision 7330f729ccf0bd976a06f95fad452fe774fc7fd1)
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