Add support for casting any pointer to any integer type

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7953 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2003-08-18 17:23:40 +00:00
parent 8164d6535a
commit 74cf81919d

View File

@ -54,13 +54,15 @@ GenericValue ExecutionEngine::getConstantValue(const Constant *C) {
if (Op->getType()->getPrimitiveID() == C->getType()->getPrimitiveID())
return getConstantValue(Op);
// Handle cast of long to pointer or pointer to long...
if ((isa<PointerType>(Op->getType()) && (C->getType() == Type::LongTy ||
C->getType() == Type::ULongTy))||
(isa<PointerType>(C->getType()) && (Op->getType() == Type::LongTy ||
Op->getType() == Type::ULongTy))){
// Handle a cast of pointer to any integral type...
if (isa<PointerType>(Op->getType()) &&
(C->getType() == Type::LongTy || C->getType() == Type::ULongTy))
return getConstantValue(Op);
// Handle cast of long to pointer...
if (isa<PointerType>(C->getType()) && (Op->getType() == Type::LongTy ||
Op->getType() == Type::ULongTy))
return getConstantValue(Op);
}
break;
}