]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/clang/lib/Driver/ToolChains/Haiku.h
Merge clang 7.0.1 and several follow-up changes
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / clang / lib / Driver / ToolChains / Haiku.h
1 //===--- Haiku.h - Haiku ToolChain Implementations --------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HAIKU_H
11 #define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HAIKU_H
12
13 #include "Gnu.h"
14 #include "clang/Driver/Driver.h"
15 #include "clang/Driver/ToolChain.h"
16
17 namespace clang {
18 namespace driver {
19 namespace toolchains {
20
21 class LLVM_LIBRARY_VISIBILITY Haiku : public Generic_ELF {
22 public:
23   Haiku(const Driver &D, const llvm::Triple &Triple,
24           const llvm::opt::ArgList &Args);
25
26   bool isPIEDefault() const override {
27     return getTriple().getArch() == llvm::Triple::x86_64;
28   }
29
30   void addLibCxxIncludePaths(
31       const llvm::opt::ArgList &DriverArgs,
32       llvm::opt::ArgStringList &CC1Args) const override;
33   void addLibStdCxxIncludePaths(
34       const llvm::opt::ArgList &DriverArgs,
35       llvm::opt::ArgStringList &CC1Args) const override;
36 };
37
38 } // end namespace toolchains
39 } // end namespace driver
40 } // end namespace clang
41
42 #endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HAIKU_H