bug 122:
authorReid Spencer <rspencer@reidspencer.com>
Sun, 18 Jul 2004 00:41:27 +0000 (00:41 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Sun, 18 Jul 2004 00:41:27 +0000 (00:41 +0000)
- Replace ConstantPointerRef usage with GlobalValue usage
- Correct isa<Constant> for GlobalValue subclass

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14951 91177308-0d34-0410-b5e6-96231b3b80d8

lib/ExecutionEngine/ExecutionEngine.cpp

index e53c468a2f3daa29e357e196df4c4013fa3bb788..e6f096f8aad6a309b3b0de40754fd4bcb47aee04 100644 (file)
@@ -263,19 +263,14 @@ GenericValue ExecutionEngine::getConstantValue(const Constant *C) {
     GET_CONST_VAL(Double , ConstantFP);
 #undef GET_CONST_VAL
   case Type::PointerTyID:
-    if (isa<ConstantPointerNull>(C)) {
+    if (isa<ConstantPointerNull>(C))
       Result.PointerVal = 0;
-    } else if (const ConstantPointerRef *CPR = dyn_cast<ConstantPointerRef>(C)){
-      if (Function *F =
-          const_cast<Function*>(dyn_cast<Function>(CPR->getValue())))
-        Result = PTOGV(getPointerToFunctionOrStub(F));
-      else 
-        Result = PTOGV(getOrEmitGlobalVariable(
-                           cast<GlobalVariable>(CPR->getValue())));
-
-    } else {
+    else if (const Function *F = dyn_cast<Function>(C))
+      Result = PTOGV(getPointerToFunctionOrStub(const_cast<Function*>(F)));
+    else if (const GlobalVariable* GV = dyn_cast<GlobalVariable>(C))
+      Result = PTOGV(getOrEmitGlobalVariable(const_cast<GlobalVariable*>(GV)));
+    else
       assert(0 && "Unknown constant pointer type!");
-    }
     break;
   default:
     std::cout << "ERROR: Constant unimp for type: " << *C->getType() << "\n";