Temporarily revert r231726 and r231724 as they're breaking the build.:
[oota-llvm.git] / include / llvm / ExecutionEngine / Orc / JITSymbol.h
index 7c3ad56ab2d7aad9c0dba9aa93f92881f8d1dc81..a670222c13206690d0786c9a2e42cc86b27ca201 100644 (file)
@@ -14,7 +14,6 @@
 #ifndef LLVM_EXECUTIONENGINE_ORC_JITSYMBOL_H
 #define LLVM_EXECUTIONENGINE_ORC_JITSYMBOL_H
 
-#include "llvm/ExecutionEngine/JITSymbolFlags.h"
 #include "llvm/Support/DataTypes.h"
 #include <cassert>
 #include <functional>
@@ -26,19 +25,17 @@ namespace orc {
 typedef uint64_t TargetAddress;
 
 /// @brief Represents a symbol in the JIT.
-class JITSymbol : public JITSymbolBase {
-public:  
-
+class JITSymbol {
+public:
   typedef std::function<TargetAddress()> GetAddressFtor;
 
   /// @brief Create a 'null' symbol that represents failure to find a symbol
   ///        definition.
-  JITSymbol(std::nullptr_t)
-      : JITSymbolBase(JITSymbolFlags::None), CachedAddr(0) {}
+  JITSymbol(std::nullptr_t) : CachedAddr(0) {}
 
   /// @brief Create a symbol for a definition with a known address.
-  JITSymbol(TargetAddress Addr, JITSymbolFlags Flags)
-    : JITSymbolBase(Flags), CachedAddr(Addr) {}
+  JITSymbol(TargetAddress Addr)
+    : CachedAddr(Addr) {}
 
   /// @brief Create a symbol for a definition that doesn't have a known address
   ///        yet.
@@ -49,8 +46,8 @@ public:
   /// definition without actually materializing the definition up front. The
   /// user can materialize the definition at any time by calling the getAddress
   /// method.
-  JITSymbol(GetAddressFtor GetAddress, JITSymbolFlags Flags)
-      : JITSymbolBase(Flags), GetAddress(std::move(GetAddress)), CachedAddr(0) {}
+  JITSymbol(GetAddressFtor GetAddress)
+    : CachedAddr(0), GetAddress(std::move(GetAddress)) {}
 
   /// @brief Returns true if the symbol exists, false otherwise.
   explicit operator bool() const { return CachedAddr || GetAddress; }
@@ -67,8 +64,8 @@ public:
   }
 
 private:
-  GetAddressFtor GetAddress;
   TargetAddress CachedAddr;
+  GetAddressFtor GetAddress;
 };
 
 } // End namespace orc.