diff --git a/include/llvm/CodeGen/MachOWriter.h b/include/llvm/CodeGen/MachOWriter.h index dd98b950d5b..5ec4f503318 100644 --- a/include/llvm/CodeGen/MachOWriter.h +++ b/include/llvm/CodeGen/MachOWriter.h @@ -85,11 +85,13 @@ namespace llvm { MachineCodeEmitter &getMachineCodeEmitter() const { return *(MachineCodeEmitter*)MCE; } + virtual ~MachOWriter(); - ~MachOWriter(); + virtual const char *getPassName() const { + return "Mach-O Writer"; + } typedef std::vector DataBuffer; - protected: MachOWriter(std::ostream &O, TargetMachine &TM); diff --git a/include/llvm/Target/TargetMachOWriterInfo.h b/include/llvm/Target/TargetMachOWriterInfo.h index 6276bcfd9c3..d85b7275f98 100644 --- a/include/llvm/Target/TargetMachOWriterInfo.h +++ b/include/llvm/Target/TargetMachOWriterInfo.h @@ -24,10 +24,10 @@ namespace llvm { // TargetMachOWriterInfo //===--------------------------------------------------------------------===// - struct TargetMachOWriterInfo { + class TargetMachOWriterInfo { uint32_t CPUType; // CPU specifier uint32_t CPUSubType; // Machine specifier - + public: // The various CPU_TYPE_* constants are already defined by at least one // system header file and create compilation errors if not respected. #if !defined(CPU_TYPE_I386) @@ -93,9 +93,8 @@ namespace llvm { virtual MachineRelocation GetJTRelocation(unsigned Offset, MachineBasicBlock *MBB) const; - virtual const char *getPassName() const { - return "Mach-O Writer"; - } + uint32_t getCPUType() const { return CPUType; } + uint32_t getCPUSubType() const { return CPUSubType; } }; } // end llvm namespace diff --git a/lib/CodeGen/MachOWriter.cpp b/lib/CodeGen/MachOWriter.cpp index 70fe79bf687..bc54728f58b 100644 --- a/lib/CodeGen/MachOWriter.cpp +++ b/lib/CodeGen/MachOWriter.cpp @@ -461,8 +461,8 @@ void MachOWriter::EmitHeaderAndLoadCommands() { OutputBuffer FHOut(FH, is64Bit, isLittleEndian); FHOut.outword(Header.magic); - FHOut.outword(TM.getMachOWriterInfo()->CPUType); - FHOut.outword(TM.getMachOWriterInfo()->CPUSubType); + FHOut.outword(TM.getMachOWriterInfo()->getCPUType()); + FHOut.outword(TM.getMachOWriterInfo()->getCPUSubType()); FHOut.outword(Header.filetype); FHOut.outword(Header.ncmds); FHOut.outword(Header.sizeofcmds); diff --git a/lib/Target/PowerPC/PPCMachOWriterInfo.h b/lib/Target/PowerPC/PPCMachOWriterInfo.h index af47833d4cb..15365559491 100644 --- a/lib/Target/PowerPC/PPCMachOWriterInfo.h +++ b/lib/Target/PowerPC/PPCMachOWriterInfo.h @@ -21,13 +21,10 @@ namespace llvm { // Forward declarations class PPCTargetMachine; - struct PPCMachOWriterInfo : public TargetMachOWriterInfo { + class PPCMachOWriterInfo : public TargetMachOWriterInfo { + public: PPCMachOWriterInfo(const PPCTargetMachine &TM); virtual ~PPCMachOWriterInfo() {} - - virtual const char *getPassName() const { - return "PowerPC Mach-O Writer"; - } }; } // end llvm namespace