Minor bugfix to enable generation of methcall.llvm.lib, objinst.llvm.lib, and

The problem was merging two unsized types like function's, ie int (int*) with
int (uint *)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4594 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2002-11-07 04:59:28 +00:00
parent bc87ae7360
commit f17b39ab2a

View File

@ -187,7 +187,7 @@ bool DSNode::mergeTypeInfo(const Type *NewTy, unsigned Offset) {
return mergeTypeInfo(OldTy, 0);
}
assert(Offset < Size &&
assert(Offset <= Size &&
"Cannot merge something into a part of our type that doesn't exist!");
// Find the section of Ty.Ty that NewTy overlaps with... first we find the
@ -234,7 +234,7 @@ bool DSNode::mergeTypeInfo(const Type *NewTy, unsigned Offset) {
// structure, the type desired may actually be the first element of the
// composite type...
//
unsigned SubTypeSize = TD.getTypeSize(SubType);
unsigned SubTypeSize = SubType->isSized() ? TD.getTypeSize(SubType) : 0;
while (SubType != NewTy) {
const Type *NextSubType = 0;
unsigned NextSubTypeSize;