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)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221758 91177308-0d34-0410-b5e6-96231b3b80d8

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

index fcc6bf79c4ffb16c4f06d5ca75cdf90d9389bc35..dc5106e1c5db01dcabfb7fd1d082735b9c926d55 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 fe5fa87109d67609e9a1f31c4b441901f7b94f5b..d796acfa90e76b637ad95521041cdccef75cbc45 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;
-}