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