GP-2262 - type id should be long

This commit is contained in:
caheckman 2022-07-22 12:55:33 -04:00
parent 2131e9d1af
commit f19df90389
3 changed files with 5 additions and 3 deletions

View file

@ -3192,6 +3192,8 @@ TypePointer *TypeFactory::getTypePointerNoDepth(int4 s,Datatype *pt,uint4 ws)
TypeArray *TypeFactory::getTypeArray(int4 as,Datatype *ao) TypeArray *TypeFactory::getTypeArray(int4 as,Datatype *ao)
{ {
if (ao->hasStripped())
ao = ao->getStripped();
TypeArray tmp(as,ao); TypeArray tmp(as,ao);
return (TypeArray *) findAdd(tmp); return (TypeArray *) findAdd(tmp);
} }

View file

@ -52,14 +52,14 @@ public class ClangTypeToken extends ClangToken {
@Override @Override
public void decode(Decoder decoder, PcodeFactory pfactory) throws PcodeXMLException { public void decode(Decoder decoder, PcodeFactory pfactory) throws PcodeXMLException {
int id = 0; long id = 0;
for (;;) { for (;;) {
int attribId = decoder.getNextAttributeId(); int attribId = decoder.getNextAttributeId();
if (attribId == 0) { if (attribId == 0) {
break; break;
} }
if (attribId == AttributeId.ATTRIB_ID.getId()) { if (attribId == AttributeId.ATTRIB_ID.getId()) {
id = (int) decoder.readUnsignedInteger(); id = decoder.readUnsignedInteger();
break; break;
} }
} }

View file

@ -251,7 +251,7 @@ public class PcodeDataTypeManager {
else { // We typically reach here if the decompiler invents a new type else { // We typically reach here if the decompiler invents a new type
// probably an unknown with a non-standard size // probably an unknown with a non-standard size
int size = (int) decoder.readSignedInteger(AttributeId.ATTRIB_SIZE); int size = (int) decoder.readSignedInteger(AttributeId.ATTRIB_SIZE);
decoder.closeElement(el); decoder.closeElementSkipping(el);
return Undefined.getUndefinedDataType(size).clone(progDataTypes); return Undefined.getUndefinedDataType(size).clone(progDataTypes);
} }
if (restype == null) { if (restype == null) {