Add const.
[oota-llvm.git] / include / llvm / MC / MCELFObjectWriter.h
index a5555e38e049f9e29897234776c4a75f35b8d051..41a9fbc891eb73598672a9fd9b507ae7de47c8f2 100644 (file)
 
 namespace llvm {
 class MCELFObjectTargetWriter {
+  const Triple::OSType OSType;
+  const uint16_t EMachine;
+  const unsigned HasRelocationAddend : 1;
+  const unsigned Is64Bit : 1;
 protected:
-  MCELFObjectTargetWriter();
+  MCELFObjectTargetWriter(bool Is64Bit_, Triple::OSType OSType_,
+                          uint16_t EMachine_,  bool HasRelocationAddend_);
 
 public:
   virtual ~MCELFObjectTargetWriter();
+
+  /// @name Accessors
+  /// @{
+  Triple::OSType getOSType() { return OSType; }
+  uint16_t getEMachine() { return EMachine; }
+  bool hasRelocationAddend() { return HasRelocationAddend; }
+  bool is64Bit() const { return Is64Bit; }
+  /// @}
 };
 
 /// \brief Construct a new ELF writer instance.
@@ -28,10 +41,7 @@ public:
 /// \param OS - The stream to write to.
 /// \returns The constructed object writer.
 MCObjectWriter *createELFObjectWriter(MCELFObjectTargetWriter *MOTW,
-                                      raw_ostream &OS, bool is64Bit,
-                                      Triple::OSType OSType, uint16_t EMachine,
-                                      bool IsLittleEndian,
-                                      bool HasRelocationAddend);
+                                      raw_ostream &OS, bool IsLittleEndian);
 } // End llvm namespace
 
 #endif