diff options
Diffstat (limited to 'frontends/ast')
| -rw-r--r-- | frontends/ast/genrtlil.cc | 3 | 
1 files changed, 2 insertions, 1 deletions
| diff --git a/frontends/ast/genrtlil.cc b/frontends/ast/genrtlil.cc index 1fe74bb72..2788a850f 100644 --- a/frontends/ast/genrtlil.cc +++ b/frontends/ast/genrtlil.cc @@ -932,7 +932,8 @@ void AstNode::detectSignWidthWorker(int &width_hint, bool &sign_hint, bool *foun  		if (children.at(0)->type != AST_CONSTANT)  			log_file_error(filename, location.first_line, "Static cast with non constant expression!\n");  		children.at(1)->detectSignWidthWorker(width_hint, sign_hint); -		width_hint = children.at(0)->bitsAsConst().as_int(); +		this_width = children.at(0)->bitsAsConst().as_int(); +		width_hint = max(width_hint, this_width);  		if (width_hint <= 0)  			log_file_error(filename, location.first_line, "Static cast with zero or negative size!\n");  		break; | 
