Coverage Report

Created: 2019-07-24 05:18

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/include/llvm/MC/MCXCOFFObjectWriter.h
Line
Count
Source (jump to first uncovered line)
1
//===-- llvm/MC/MCXCOFFObjectWriter.h - XCOFF Object Writer ---------------===//
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_MC_MCXCOFFOBJECTWRITER_H
10
#define LLVM_MC_MCXCOFFOBJECTWRITER_H
11
12
#include "llvm/MC/MCObjectWriter.h"
13
14
namespace llvm {
15
16
class raw_pwrite_stream;
17
18
class MCXCOFFObjectTargetWriter : public MCObjectTargetWriter {
19
protected:
20
  MCXCOFFObjectTargetWriter(bool Is64Bit);
21
22
public:
23
  ~MCXCOFFObjectTargetWriter() override;
24
25
5
  Triple::ObjectFormatType getFormat() const override { return Triple::XCOFF; }
26
0
  static bool classof(const MCObjectTargetWriter *W) {
27
0
    return W->getFormat() == Triple::XCOFF;
28
0
  }
29
2
  bool is64Bit() const { return Is64Bit; }
30
31
private:
32
  bool Is64Bit;
33
};
34
35
std::unique_ptr<MCObjectWriter>
36
createXCOFFObjectWriter(std::unique_ptr<MCXCOFFObjectTargetWriter> MOTW,
37
                        raw_pwrite_stream &OS);
38
39
} // end namespace llvm
40
41
#endif // LLVM_MC_MCXCOFFOBJECTWRITER_H