From: Clifford Wolf Date: Mon, 8 Jun 2015 12:03:06 +0000 (+0200) Subject: Fixed handling of parameters with reversed range X-Git-Tag: yosys-0.6~273 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=13983e8318c8aa92a0549fea1803526f7920f331;p=yosys.git Fixed handling of parameters with reversed range --- diff --git a/frontends/ast/simplify.cc b/frontends/ast/simplify.cc index 30b4f5139..88df28f8b 100644 --- a/frontends/ast/simplify.cc +++ b/frontends/ast/simplify.cc @@ -678,7 +678,7 @@ bool AstNode::simplify(bool const_fold, bool at_zero, bool in_lvalue, int stage, if (children.size() > 1 && children[1]->type == AST_RANGE) { if (!children[1]->range_valid) log_error("Non-constant width range on parameter decl at %s:%d.\n", filename.c_str(), linenum); - int width = children[1]->range_left - children[1]->range_right + 1; + int width = std::abs(children[1]->range_left - children[1]->range_right) + 1; if (children[0]->type == AST_REALVALUE) { RTLIL::Const constvalue = children[0]->realAsConst(width); log_warning("converting real value %e to binary %s at %s:%d.\n",