aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/CodeGen/MachOWriter.h6
-rw-r--r--include/llvm/Target/TargetMachOWriterInfo.h9
-rw-r--r--lib/CodeGen/MachOWriter.cpp4
-rw-r--r--lib/Target/PowerPC/PPCMachOWriterInfo.h7
4 files changed, 12 insertions, 14 deletions
diff --git a/include/llvm/CodeGen/MachOWriter.h b/include/llvm/CodeGen/MachOWriter.h
index dd98b950d5..5ec4f50331 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<unsigned char> DataBuffer;
-
protected:
MachOWriter(std::ostream &O, TargetMachine &TM);
diff --git a/include/llvm/Target/TargetMachOWriterInfo.h b/include/llvm/Target/TargetMachOWriterInfo.h
index 6276bcfd9c..d85b7275f9 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 70fe79bf68..bc54728f58 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 af47833d4c..1536555949 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