WinCOFFObjectWriter.cpp revision b162290e39afd49d4c7d342333b331bc96232720
1//===-- llvm/MC/WinCOFFObjectWriter.cpp -------------------------*- 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// This file contains an implementation of a Win32 COFF object file writer.
11//
12//===----------------------------------------------------------------------===//
13
14#define DEBUG_TYPE "WinCOFFObjectWriter"
15#include "llvm/MC/MCObjectWriter.h"
16#include "llvm/MC/MCValue.h"
17#include "llvm/MC/MCAssembler.h"
18#include "llvm/MC/MCAsmLayout.h"
19using namespace llvm;
20
21namespace {
22
23  class WinCOFFObjectWriter : public MCObjectWriter {
24  public:
25    WinCOFFObjectWriter(raw_ostream &OS);
26
27    // MCObjectWriter interface implementation.
28
29    void ExecutePostLayoutBinding(MCAssembler &Asm);
30
31    void RecordRelocation(const MCAssembler &Asm,
32                          const MCAsmLayout &Layout,
33                          const MCFragment *Fragment,
34                          const MCFixup &Fixup,
35                          MCValue Target,
36                          uint64_t &FixedValue);
37
38    void WriteObject(const MCAssembler &Asm, const MCAsmLayout &Layout);
39  };
40}
41
42WinCOFFObjectWriter::WinCOFFObjectWriter(raw_ostream &OS)
43                                : MCObjectWriter(OS, true) {
44}
45
46////////////////////////////////////////////////////////////////////////////////
47// MCObjectWriter interface implementations
48
49void WinCOFFObjectWriter::ExecutePostLayoutBinding(MCAssembler &Asm) {
50}
51
52void WinCOFFObjectWriter::RecordRelocation(const MCAssembler &Asm,
53                                           const MCAsmLayout &Layout,
54                                           const MCFragment *Fragment,
55                                           const MCFixup &Fixup,
56                                           MCValue Target,
57                                           uint64_t &FixedValue) {
58}
59
60void WinCOFFObjectWriter::WriteObject(const MCAssembler &Asm,
61                                      const MCAsmLayout &Layout) {
62}
63
64//------------------------------------------------------------------------------
65// WinCOFFObjectWriter factory function
66
67namespace llvm {
68  MCObjectWriter *createWinCOFFObjectWriter(raw_ostream &OS) {
69    return new WinCOFFObjectWriter(OS);
70  }
71}
72