[ptr-traits] Sink several in-body method definitions to be out-of-line
[oota-llvm.git] / include / llvm / Object / IRObjectFile.h
index 10ea05ddf1f7913cfe6e45124d72e817450ab573..ef655287c34c6aa9d7fb735538a3224e2d60e5bf 100644 (file)
@@ -31,7 +31,7 @@ class IRObjectFile : public SymbolicFile {
 
 public:
   IRObjectFile(MemoryBufferRef Object, std::unique_ptr<Module> M);
-  ~IRObjectFile();
+  ~IRObjectFile() override;
   void moveSymbolNext(DataRefImpl &Symb) const override;
   std::error_code printSymbolName(raw_ostream &OS,
                                   DataRefImpl Symb) const override;
@@ -49,7 +49,7 @@ public:
   Module &getModule() {
     return *M;
   }
-  std::unique_ptr<Module> takeModule() { return std::move(M); }
+  std::unique_ptr<Module> takeModule();
 
   static inline bool classof(const Binary *v) {
     return v->isIR();
@@ -65,8 +65,8 @@ public:
   static ErrorOr<MemoryBufferRef>
   findBitcodeInMemBuffer(MemoryBufferRef Object);
 
-  static ErrorOr<std::unique_ptr<IRObjectFile>>
-  createIRObjectFile(MemoryBufferRef Object, LLVMContext &Context);
+  static ErrorOr<std::unique_ptr<IRObjectFile>> create(MemoryBufferRef Object,
+                                                       LLVMContext &Context);
 };
 }
 }