Coverage Report

Created: 2023-09-21 18:56

/Users/buildslave/jenkins/workspace/coverage/llvm-project/clang/lib/Driver/ToolChains/VEToolchain.h
Line
Count
Source (jump to first uncovered line)
1
//===--- VE.h - VE 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
#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_VE_H
10
#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_VE_H
11
12
#include "Linux.h"
13
#include "clang/Driver/ToolChain.h"
14
15
namespace clang {
16
namespace driver {
17
namespace toolchains {
18
19
class LLVM_LIBRARY_VISIBILITY VEToolChain : public Linux {
20
public:
21
  VEToolChain(const Driver &D, const llvm::Triple &Triple,
22
              const llvm::opt::ArgList &Args);
23
24
protected:
25
  Tool *buildAssembler() const override;
26
  Tool *buildLinker() const override;
27
28
public:
29
  bool isPICDefault() const override;
30
  bool isPIEDefault(const llvm::opt::ArgList &Args) const override;
31
  bool isPICDefaultForced() const override;
32
  bool SupportsProfiling() const override;
33
  bool hasBlocksRuntime() const override;
34
  void
35
  AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
36
                            llvm::opt::ArgStringList &CC1Args) const override;
37
  void
38
  addClangTargetOptions(const llvm::opt::ArgList &DriverArgs,
39
                        llvm::opt::ArgStringList &CC1Args,
40
                        Action::OffloadKind DeviceOffloadKind) const override;
41
  void AddClangCXXStdlibIncludeArgs(
42
      const llvm::opt::ArgList &DriverArgs,
43
      llvm::opt::ArgStringList &CC1Args) const override;
44
  void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
45
                           llvm::opt::ArgStringList &CmdArgs) const override;
46
47
  llvm::ExceptionHandling
48
  GetExceptionModel(const llvm::opt::ArgList &Args) const override;
49
50
  CXXStdlibType
51
0
  GetCXXStdlibType(const llvm::opt::ArgList &Args) const override {
52
0
    return ToolChain::CST_Libcxx;
53
0
  }
54
55
2
  RuntimeLibType GetDefaultRuntimeLibType() const override {
56
2
    return ToolChain::RLT_CompilerRT;
57
2
  }
58
59
2
  const char *getDefaultLinker() const override { return "nld"; }
60
};
61
62
} // end namespace toolchains
63
} // end namespace driver
64
} // end namespace clang
65
66
#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_VE_H