mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	Throw errors if non-existing selection variables are used
This commit is contained in:
		
							parent
							
								
									b1bf55dd63
								
							
						
					
					
						commit
						1fb8ba73bd
					
				
					 1 changed files with 4 additions and 3 deletions
				
			
		|  | @ -384,7 +384,8 @@ static void select_op_expand(RTLIL::Design *design, std::string arg, char mode) | ||||||
| 						for (auto i1 : design->selection_vars.at(str).selected_members) | 						for (auto i1 : design->selection_vars.at(str).selected_members) | ||||||
| 						for (auto i2 : i1.second) | 						for (auto i2 : i1.second) | ||||||
| 							limits.insert(i2); | 							limits.insert(i2); | ||||||
| 					} | 					} else | ||||||
|  | 						log_cmd_error("Selection %s is not defined!\n", RTLIL::id2cstr(str)); | ||||||
| 				} else | 				} else | ||||||
| 					limits.insert(RTLIL::escape_id(str)); | 					limits.insert(RTLIL::escape_id(str)); | ||||||
| 			} | 			} | ||||||
|  | @ -521,7 +522,7 @@ static void select_stmt(RTLIL::Design *design, std::string arg) | ||||||
| 		if (design->selection_vars.count(set_name) > 0) | 		if (design->selection_vars.count(set_name) > 0) | ||||||
| 			work_stack.push_back(design->selection_vars[set_name]); | 			work_stack.push_back(design->selection_vars[set_name]); | ||||||
| 		else | 		else | ||||||
| 			work_stack.push_back(RTLIL::Selection(false)); | 			log_cmd_error("Selection @%s is not defined!\n", RTLIL::id2cstr(set_name)); | ||||||
| 		select_filter_active_mod(design, work_stack.back()); | 		select_filter_active_mod(design, work_stack.back()); | ||||||
| 		return; | 		return; | ||||||
| 	} | 	} | ||||||
|  | @ -1016,7 +1017,7 @@ struct SelectPass : public Pass { | ||||||
| 		if (!set_name.empty()) | 		if (!set_name.empty()) | ||||||
| 		{ | 		{ | ||||||
| 			if (work_stack.size() == 0) | 			if (work_stack.size() == 0) | ||||||
| 				design->selection_vars.erase(set_name); | 				design->selection_vars[set_name] = RTLIL::Selection(false); | ||||||
| 			else | 			else | ||||||
| 				design->selection_vars[set_name] = work_stack.back(); | 				design->selection_vars[set_name] = work_stack.back(); | ||||||
| 			return; | 			return; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue