mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 13:29:12 +00:00 
			
		
		
		
	Added log_cmd_error_expection
This commit is contained in:
		
							parent
							
								
									7661ded8dd
								
							
						
					
					
						commit
						d878fcbdc7
					
				
					 4 changed files with 7 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -141,9 +141,9 @@ static void run_frontend(std::string filename, std::string command, RTLIL::Desig
 | 
			
		|||
					Pass::call(design, command);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		catch (...) {
 | 
			
		||||
		catch (log_cmd_error_expection) {
 | 
			
		||||
			Frontend::current_script_file = backup_script_file;
 | 
			
		||||
			std::rethrow_exception(std::current_exception());
 | 
			
		||||
			throw log_cmd_error_expection();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		Frontend::current_script_file = backup_script_file;
 | 
			
		||||
| 
						 | 
				
			
			@ -329,7 +329,7 @@ static void shell(RTLIL::Design *design)
 | 
			
		|||
		try {
 | 
			
		||||
			assert(design->selection_stack.size() == 1);
 | 
			
		||||
			Pass::call(design, command);
 | 
			
		||||
		} catch (int) {
 | 
			
		||||
		} catch (log_cmd_error_expection) {
 | 
			
		||||
			while (design->selection_stack.size() > 1)
 | 
			
		||||
				design->selection_stack.pop_back();
 | 
			
		||||
			log_reset_stack();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -160,7 +160,7 @@ void log_cmd_error(const char *format, ...)
 | 
			
		|||
		log("ERROR: ");
 | 
			
		||||
		logv(format, ap);
 | 
			
		||||
		log_flush();
 | 
			
		||||
		throw 0;
 | 
			
		||||
		throw log_cmd_error_expection();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	logv_error(format, ap);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,6 +34,8 @@
 | 
			
		|||
#define S__LINE__sub1(x) S__LINE__sub2(x)
 | 
			
		||||
#define S__LINE__ S__LINE__sub1(__LINE__)
 | 
			
		||||
 | 
			
		||||
struct log_cmd_error_expection { };
 | 
			
		||||
 | 
			
		||||
extern std::vector<FILE*> log_files;
 | 
			
		||||
extern FILE *log_errfile;
 | 
			
		||||
extern bool log_time;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,10 +32,7 @@
 | 
			
		|||
 * Convert a signal into a KISS-compatible textual representation.
 | 
			
		||||
 */
 | 
			
		||||
std::string kiss_convert_signal(const RTLIL::SigSpec &sig) {
 | 
			
		||||
	if (!sig.is_fully_const()) {
 | 
			
		||||
		throw 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	log_assert(sig.is_fully_const());
 | 
			
		||||
	return sig.as_const().as_string();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue