aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/VMCore/Function.cpp10
-rw-r--r--lib/VMCore/Type.cpp28
-rw-r--r--lib/VMCore/iCall.cpp5
3 files changed, 19 insertions, 24 deletions
diff --git a/lib/VMCore/Function.cpp b/lib/VMCore/Function.cpp
index 0ec6411..75a2778 100644
--- a/lib/VMCore/Function.cpp
+++ b/lib/VMCore/Function.cpp
@@ -66,10 +66,6 @@ const Type *Method::getReturnType() const {
return ((const MethodType *)getType())->getReturnType();
}
-const MethodType *Method::getMethodType() const {
- return (const MethodType *)getType();
-}
-
// dropAllReferences() - This function causes all the subinstructions to "let
// go" of all references that they are maintaining. This allows one to
// 'delete' a whole class at a time, even though there may be circular
@@ -88,9 +84,9 @@ void Method::dropAllReferences() {
GlobalVariable::GlobalVariable(const Type *Ty, const string &Name = "")
: Value(Ty, Value::GlobalVal, Name), Parent(0) {
- assert(Ty->isPointerType() &&
- (!Ty->isPointerType()->isArrayType() || // No unsized array pointers
- Ty->isPointerType()->isArrayType()->isSized()) &&
+ assert(Ty->isPointerType() && // No unsized array pointers
+ (!Ty->dyncastPointerType()->isArrayType() ||
+ Ty->dyncastPointerType()->dyncastArrayType()->isSized()) &&
"Global Variables must be pointers to a sized type!");
}
diff --git a/lib/VMCore/Type.cpp b/lib/VMCore/Type.cpp
index d2b23d4..3b95fb7 100644
--- a/lib/VMCore/Type.cpp
+++ b/lib/VMCore/Type.cpp
@@ -115,20 +115,20 @@ static struct TypeType : public Type {
// Static 'Type' data
//===----------------------------------------------------------------------===//
-const Type *Type::VoidTy = new Type("void" , VoidTyID),
- *Type::BoolTy = new Type("bool" , BoolTyID),
- *Type::SByteTy = new SignedIntType("sbyte" , SByteTyID, 1),
- *Type::UByteTy = new UnsignedIntType("ubyte" , UByteTyID, 1),
- *Type::ShortTy = new SignedIntType("short" , ShortTyID, 2),
- *Type::UShortTy = new UnsignedIntType("ushort", UShortTyID, 2),
- *Type::IntTy = new SignedIntType("int" , IntTyID, 4),
- *Type::UIntTy = new UnsignedIntType("uint" , UIntTyID, 4),
- *Type::LongTy = new SignedIntType("long" , LongTyID, 8),
- *Type::ULongTy = new UnsignedIntType("ulong" , ULongTyID, 8),
- *Type::FloatTy = new Type("float" , FloatTyID),
- *Type::DoubleTy = new Type("double", DoubleTyID),
- *Type::TypeTy = &TheTypeType,
- *Type::LabelTy = new Type("label" , LabelTyID);
+Type *Type::VoidTy = new Type("void" , VoidTyID),
+ *Type::BoolTy = new Type("bool" , BoolTyID),
+ *Type::SByteTy = new SignedIntType("sbyte" , SByteTyID, 1),
+ *Type::UByteTy = new UnsignedIntType("ubyte" , UByteTyID, 1),
+ *Type::ShortTy = new SignedIntType("short" , ShortTyID, 2),
+ *Type::UShortTy = new UnsignedIntType("ushort", UShortTyID, 2),
+ *Type::IntTy = new SignedIntType("int" , IntTyID, 4),
+ *Type::UIntTy = new UnsignedIntType("uint" , UIntTyID, 4),
+ *Type::LongTy = new SignedIntType("long" , LongTyID, 8),
+ *Type::ULongTy = new UnsignedIntType("ulong" , ULongTyID, 8),
+ *Type::FloatTy = new Type("float" , FloatTyID),
+ *Type::DoubleTy = new Type("double", DoubleTyID),
+ *Type::TypeTy = &TheTypeType,
+ *Type::LabelTy = new Type("label" , LabelTyID);
//===----------------------------------------------------------------------===//
diff --git a/lib/VMCore/iCall.cpp b/lib/VMCore/iCall.cpp
index 22e238a..13f07d7 100644
--- a/lib/VMCore/iCall.cpp
+++ b/lib/VMCore/iCall.cpp
@@ -15,10 +15,9 @@ CallInst::CallInst(Method *M, const vector<Value*> &params,
Operands.reserve(1+params.size());
Operands.push_back(Use(M, this));
- const MethodType* MT = M->getMethodType();
- const MethodType::ParamTypes &PL = MT->getParamTypes();
+ const MethodType::ParamTypes &PL = M->getType()->getParamTypes();
assert((params.size() == PL.size()) ||
- (MT->isVarArg() && params.size() > PL.size()) &&
+ (M->getType()->isVarArg() && params.size() > PL.size()) &&
"Calling a function with bad signature");
#ifndef NDEBUG
MethodType::ParamTypes::const_iterator It = PL.begin();