3c2eb2f47869fffd53fea30f91db0a585a05d0a4
[oota-llvm.git] / include / llvm / MC / MCMachObjectWriter.h
1 //===-- llvm/MC/MCMachObjectWriter.h - Mach Object Writer -------*- 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_MC_MCMACHOBJECTWRITER_H
11 #define LLVM_MC_MCMACHOBJECTWRITER_H
12
13 #include "llvm/MC/MCObjectWriter.h"
14
15 namespace llvm {
16
17 class MCMachObjectTargetWriter {
18 protected:
19   MCMachObjectTargetWriter();
20
21 public:
22   virtual ~MCMachObjectTargetWriter();
23 };
24
25 /// \brief Construct a new Mach-O writer instance.
26 ///
27 /// This routine takes ownership of the target writer subclass.
28 ///
29 /// \param MOTW - The target specific Mach-O writer subclass.
30 /// \param OS - The stream to write to.
31 /// \returns The constructed object writer.
32 MCObjectWriter *createMachObjectWriter(MCMachObjectTargetWriter *MOTW,
33                                        raw_ostream &OS, bool is64Bit,
34                                        uint32_t CPUType, uint32_t CPUSubtype,
35                                        bool IsLittleEndian);
36
37 } // End llvm namespace
38
39 #endif