More found_real-related fixes to AstNode::detectSignWidthWorker

This commit is contained in:
Clifford Wolf 2014-06-24 15:08:48 +02:00
parent a7aea17959
commit 4fc43d1932
1 changed files with 6 additions and 6 deletions

View File

@ -713,7 +713,7 @@ void AstNode::detectSignWidthWorker(int &width_hint, bool &sign_hint, bool *foun
case AST_NEG: case AST_NEG:
case AST_BIT_NOT: case AST_BIT_NOT:
case AST_POS: case AST_POS:
children[0]->detectSignWidthWorker(width_hint, sign_hint); children[0]->detectSignWidthWorker(width_hint, sign_hint, found_real);
break; break;
case AST_BIT_AND: case AST_BIT_AND:
@ -721,7 +721,7 @@ void AstNode::detectSignWidthWorker(int &width_hint, bool &sign_hint, bool *foun
case AST_BIT_XOR: case AST_BIT_XOR:
case AST_BIT_XNOR: case AST_BIT_XNOR:
for (auto child : children) for (auto child : children)
child->detectSignWidthWorker(width_hint, sign_hint); child->detectSignWidthWorker(width_hint, sign_hint, found_real);
break; break;
case AST_REDUCE_AND: case AST_REDUCE_AND:
@ -738,7 +738,7 @@ void AstNode::detectSignWidthWorker(int &width_hint, bool &sign_hint, bool *foun
case AST_SHIFT_SLEFT: case AST_SHIFT_SLEFT:
case AST_SHIFT_SRIGHT: case AST_SHIFT_SRIGHT:
case AST_POW: case AST_POW:
children[0]->detectSignWidthWorker(width_hint, sign_hint); children[0]->detectSignWidthWorker(width_hint, sign_hint, found_real);
break; break;
case AST_LT: case AST_LT:
@ -759,7 +759,7 @@ void AstNode::detectSignWidthWorker(int &width_hint, bool &sign_hint, bool *foun
case AST_DIV: case AST_DIV:
case AST_MOD: case AST_MOD:
for (auto child : children) for (auto child : children)
child->detectSignWidthWorker(width_hint, sign_hint); child->detectSignWidthWorker(width_hint, sign_hint, found_real);
break; break;
case AST_LOGIC_AND: case AST_LOGIC_AND:
@ -770,8 +770,8 @@ void AstNode::detectSignWidthWorker(int &width_hint, bool &sign_hint, bool *foun
break; break;
case AST_TERNARY: case AST_TERNARY:
children.at(1)->detectSignWidthWorker(width_hint, sign_hint); children.at(1)->detectSignWidthWorker(width_hint, sign_hint, found_real);
children.at(2)->detectSignWidthWorker(width_hint, sign_hint); children.at(2)->detectSignWidthWorker(width_hint, sign_hint, found_real);
break; break;
case AST_MEMRD: case AST_MEMRD: