Fix width detection of memory access with bit slice, fixes #974
authorClifford Wolf <clifford@clifford.at>
Wed, 1 May 2019 07:57:26 +0000 (09:57 +0200)
committerClifford Wolf <clifford@clifford.at>
Wed, 1 May 2019 07:57:26 +0000 (09:57 +0200)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
frontends/ast/genrtlil.cc

index b3a2a84be51e99e6e45c7b05cdcb7b7620b4bde8..d4515babf763927169ff3331b59a8b6e0b895736 100644 (file)
@@ -645,6 +645,8 @@ void AstNode::detectSignWidthWorker(int &width_hint, bool &sign_hint, bool *foun
                        if (!id_ast->children[0]->range_valid)
                                log_file_error(filename, linenum, "Failed to detect width of memory access `%s'!\n", str.c_str());
                        this_width = id_ast->children[0]->range_left - id_ast->children[0]->range_right + 1;
+                       if (children.size() > 1)
+                               range = children[1];
                } else
                        log_file_error(filename, linenum, "Failed to detect width for identifier %s!\n", str.c_str());
                if (range) {