From 8206546c45d8fe74ac291a548fa372d1bd98f966 Mon Sep 17 00:00:00 2001 From: Zachary Snow Date: Sat, 5 Dec 2020 18:56:18 -0700 Subject: Fix constants bound to single bit arguments (fixes #2383) --- frontends/ast/simplify.cc | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'frontends') diff --git a/frontends/ast/simplify.cc b/frontends/ast/simplify.cc index fb6623f02..8cd459913 100644 --- a/frontends/ast/simplify.cc +++ b/frontends/ast/simplify.cc @@ -3337,6 +3337,14 @@ skip_dynamic_range_lvalue_expansion:; wire->type = AST_LOCALPARAM; wire->attributes.erase(ID::nosync); wire->children.insert(wire->children.begin(), arg->clone()); + // args without a range implicitly have width 1 + if (wire->children.back()->type != AST_RANGE) { + AstNode* range = new AstNode(); + range->type = AST_RANGE; + wire->children.push_back(range); + range->children.push_back(mkconst_int(0, true)); + range->children.push_back(mkconst_int(0, true)); + } continue; } AstNode *wire_id = new AstNode(AST_IDENTIFIER); -- cgit v1.2.3