Make readBytes pure virtual. Every real implementation has it.
authorRafael Espindola <rafael.espindola@gmail.com>
Wed, 12 Nov 2014 02:30:38 +0000 (02:30 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Wed, 12 Nov 2014 02:30:38 +0000 (02:30 +0000)
llvm-svn: 221758

llvm/include/llvm/Support/MemoryObject.h
llvm/lib/Support/MemoryObject.cpp

index fcc6bf7..dc5106e 100644 (file)
@@ -51,7 +51,8 @@ public:
   ///                   and large enough to hold size bytes.
   /// @result         - 0 if successful; -1 if not.  Failure may be due to a
   ///                   bounds violation or an implementation-specific error.
-  virtual int readBytes(uint64_t address, uint64_t size, uint8_t *buf) const;
+  virtual int readBytes(uint64_t address, uint64_t size,
+                        uint8_t *buf) const = 0;
 };
 
 }
index fe5fa87..d796acf 100644 (file)
@@ -12,22 +12,3 @@ using namespace llvm;
   
 MemoryObject::~MemoryObject() {
 }
-
-int MemoryObject::readBytes(uint64_t address,
-                            uint64_t size,
-                            uint8_t* buf) const {
-  uint64_t current = address;
-  uint64_t limit = getExtent();
-
-  if (current + size > limit)
-    return -1;
-
-  while (current - address < size) {
-    if (readByte(current, &buf[(current - address)]))
-      return -1;
-    
-    current++;
-  }
-  
-  return 0;
-}