Fix little endian packed array pattern assignment (#2795).

This commit is contained in:
Wilson Snyder
2021-02-20 20:29:28 -05:00
parent 62e877ebf0
commit 975c1b39a9
3 changed files with 29 additions and 2 deletions
+3 -2
View File
@@ -3427,9 +3427,10 @@ private:
void patternArray(AstPattern* nodep, AstNodeArrayDType* arrayDtp, AstPatMember* defaultp) {
VNumRange range = arrayDtp->declRange();
PatVecMap patmap = patVectorMap(nodep, range);
UINFO(9, "ent " << range.hi() << " to " << range.lo() << endl);
UINFO(9, "ent " << range.left() << " to " << range.right() << endl);
AstNode* newp = nullptr;
for (int ent = range.hi(); ent >= range.lo(); --ent) {
for (int entn = 0, ent = range.left(); entn < range.elements();
++entn, ent += range.leftToRightInc()) {
AstPatMember* newpatp = nullptr;
AstPatMember* patp = nullptr;
const auto it = patmap.find(ent);