Internals: Ast classes create declRange().

This commit is contained in:
Wilson Snyder
2013-01-17 20:41:45 -05:00
parent bbeb382cbb
commit de4016dcff
4 changed files with 9 additions and 11 deletions
+3 -9
View File
@@ -94,14 +94,10 @@ private:
AstNode* errp = ddtypep;
UINFO(9," fromData.ddtypep = "<<ddtypep<<endl);
if (AstNodeArrayDType* adtypep = ddtypep->castNodeArrayDType()) {
fromRange.init(adtypep->msb(),
adtypep->lsb(),
adtypep->rangep()->littleEndian());
fromRange = adtypep->declRange();
}
else if (AstNodeClassDType* adtypep = ddtypep->castNodeClassDType()) {
fromRange.init(adtypep->msb(),
adtypep->lsb(),
false); // big endian
fromRange = adtypep->declRange();
}
else if (AstBasicDType* adtypep = ddtypep->castBasicDType()) {
if (adtypep->isRanged()) {
@@ -109,9 +105,7 @@ private:
&& (!adtypep->rangep()->msbp()->castConst()
|| !adtypep->rangep()->lsbp()->castConst()))
nodep->v3fatalSrc("Non-constant variable range; errored earlier"); // in constifyParam(bfdtypep)
fromRange.init(adtypep->msb(),
adtypep->lsb(),
adtypep->littleEndian());
fromRange = adtypep->declRange();
} else {
nodep->v3error("Illegal bit or array select; type does not have a bit range, or bad dimension: type is "
<<errp->prettyName());