mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 11:42:30 +00:00 
			
		
		
		
	fixed signdness detection for expressions with reals
This commit is contained in:
		
							parent
							
								
									072604f30f
								
							
						
					
					
						commit
						65b2e9c064
					
				
					 1 changed files with 8 additions and 2 deletions
				
			
		|  | @ -594,6 +594,10 @@ void AstNode::detectSignWidthWorker(int &width_hint, bool &sign_hint, bool *foun | |||
| 	AstNode *range = NULL; | ||||
| 	AstNode *id_ast = NULL; | ||||
| 
 | ||||
| 	bool local_found_real = false; | ||||
| 	if (found_real == NULL) | ||||
| 		found_real = &local_found_real; | ||||
| 
 | ||||
| 	switch (type) | ||||
| 	{ | ||||
| 	case AST_CONSTANT: | ||||
|  | @ -603,7 +607,6 @@ void AstNode::detectSignWidthWorker(int &width_hint, bool &sign_hint, bool *foun | |||
| 		break; | ||||
| 
 | ||||
| 	case AST_REALVALUE: | ||||
| 		if (found_real) | ||||
| 		*found_real = true; | ||||
| 		width_hint = std::max(width_hint, 32); | ||||
| 		break; | ||||
|  | @ -787,6 +790,9 @@ void AstNode::detectSignWidthWorker(int &width_hint, bool &sign_hint, bool *foun | |||
| 		log_error("Don't know how to detect sign and width for %s node at %s:%d!\n", | ||||
| 				type2str(type).c_str(), filename.c_str(), linenum); | ||||
| 	} | ||||
| 
 | ||||
| 	if (*found_real) | ||||
| 		sign_hint = true; | ||||
| } | ||||
| 
 | ||||
| // detect sign and width of an expression
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue