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-exception 6// 7//===----------------------------------------------------------------------===// 8 9#include "TCE.h" 10#include "CommonArgs.h" 11 12using namespace clang::driver; 13using namespace clang::driver::toolchains; 14using namespace clang; 15using namespace llvm::opt; 16 17/// TCEToolChain - A tool chain using the llvm bitcode tools to perform 18/// all subcommands. See http://tce.cs.tut.fi for our peculiar target. 19/// Currently does not support anything else but compilation. 20 21TCEToolChain::TCEToolChain(const Driver &D, const llvm::Triple &Triple, 22 const ArgList &Args) 23 : ToolChain(D, Triple, Args) { 24 // Path mangling to find libexec 25 std::string Path(getDriver().Dir); 26 27 Path += "/../libexec"; 28 getProgramPaths().push_back(Path); 29} 30 31TCEToolChain::~TCEToolChain() {} 32 33bool TCEToolChain::IsMathErrnoDefault() const { return true; } 34 35bool TCEToolChain::isPICDefault() const { return false; } 36 37bool TCEToolChain::isPIEDefault() const { return false; } 38 39bool TCEToolChain::isPICDefaultForced() const { return false; } 40 41TCELEToolChain::TCELEToolChain(const Driver &D, const llvm::Triple& Triple, 42 const ArgList &Args) 43 : TCEToolChain(D, Triple, Args) { 44} 45 46TCELEToolChain::~TCELEToolChain() {} 47