Fix implicit one bit parameter selection, bug603.

This commit is contained in:
Wilson Snyder
2013-01-16 20:58:48 -05:00
parent f0a4bd28b6
commit 6d1b42bedb
9 changed files with 94 additions and 7 deletions
+4 -4
View File
@@ -104,10 +104,7 @@ private:
false); // big endian
}
else if (AstBasicDType* adtypep = ddtypep->castBasicDType()) {
if (!adtypep->isRanged()) {
nodep->v3error("Illegal bit or array select; type does not have a bit range, or bad dimension: type is "
<<errp->prettyName());
} else {
if (adtypep->isRanged()) {
if (adtypep->rangep()
&& (!adtypep->rangep()->msbp()->castConst()
|| !adtypep->rangep()->lsbp()->castConst()))
@@ -115,6 +112,9 @@ private:
fromRange.init(adtypep->msb(),
adtypep->lsb(),
adtypep->littleEndian());
} else {
nodep->v3error("Illegal bit or array select; type does not have a bit range, or bad dimension: type is "
<<errp->prettyName());
}
}
else {