brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · 408c058 Raw
62 lines · c
1//===--- Managarm.h - Managarm ToolChain Implementations --------*- C++ -*-===//2//3//                     The LLVM Compiler Infrastructure4//5// This file is distributed under the University of Illinois Open Source6// License. See LICENSE.TXT for details.7//8//===----------------------------------------------------------------------===//9 10#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_MANAGARM_H11#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_MANAGARM_H12 13#include "Gnu.h"14#include "clang/Driver/ToolChain.h"15 16namespace clang {17namespace driver {18namespace toolchains {19 20class LLVM_LIBRARY_VISIBILITY Managarm : public Generic_ELF {21public:22  Managarm(const Driver &D, const llvm::Triple &Triple,23           const llvm::opt::ArgList &Args);24 25  bool HasNativeLLVMSupport() const override;26 27  std::string getMultiarchTriple(const Driver &D,28                                 const llvm::Triple &TargetTriple,29                                 StringRef SysRoot) const override;30 31  void32  AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,33                            llvm::opt::ArgStringList &CC1Args) const override;34  void35  addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,36                           llvm::opt::ArgStringList &CC1Args) const override;37 38  bool IsAArch64OutlineAtomicsDefault(39      const llvm::opt::ArgList &Args) const override {40    return true;41  }42 43  SanitizerMask getSupportedSanitizers() const override;44  std::string computeSysRoot() const override;45 46  std::string getDynamicLinker(const llvm::opt::ArgList &Args) const override;47 48  void addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const override;49 50  std::vector<std::string> ExtraOpts;51 52protected:53  Tool *buildAssembler() const override;54  Tool *buildLinker() const override;55};56 57} // end namespace toolchains58} // end namespace driver59} // end namespace clang60 61#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_MANAGARM_H62