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 *range = NULL; | ||||||
| 	AstNode *id_ast = NULL; | 	AstNode *id_ast = NULL; | ||||||
| 
 | 
 | ||||||
|  | 	bool local_found_real = false; | ||||||
|  | 	if (found_real == NULL) | ||||||
|  | 		found_real = &local_found_real; | ||||||
|  | 
 | ||||||
| 	switch (type) | 	switch (type) | ||||||
| 	{ | 	{ | ||||||
| 	case AST_CONSTANT: | 	case AST_CONSTANT: | ||||||
|  | @ -603,7 +607,6 @@ void AstNode::detectSignWidthWorker(int &width_hint, bool &sign_hint, bool *foun | ||||||
| 		break; | 		break; | ||||||
| 
 | 
 | ||||||
| 	case AST_REALVALUE: | 	case AST_REALVALUE: | ||||||
| 		if (found_real) |  | ||||||
| 		*found_real = true; | 		*found_real = true; | ||||||
| 		width_hint = std::max(width_hint, 32); | 		width_hint = std::max(width_hint, 32); | ||||||
| 		break; | 		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", | 		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); | 				type2str(type).c_str(), filename.c_str(), linenum); | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	if (*found_real) | ||||||
|  | 		sign_hint = true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // detect sign and width of an expression
 | // detect sign and width of an expression
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue