@@ -1459,7 +1459,11 @@ void verilog_synthesist::synth_module_instance(
14591459
14601460 // make sure the module is synthesized already
14611461 verilog_synthesis (
1462- symbol_table, module_identifier, standard, get_message_handler (), options);
1462+ symbol_table,
1463+ module_identifier,
1464+ standard,
1465+ ignore_initial,
1466+ get_message_handler ());
14631467
14641468 for (auto &instance : statement.instances ())
14651469 expand_module_instance (module_symbol, instance, trans);
@@ -1782,6 +1786,9 @@ void verilog_synthesist::synth_initial(
17821786 << " initial module item expected to have one operand" ;
17831787 }
17841788
1789+ if (ignore_initial)
1790+ return ;
1791+
17851792 construct=constructt::INITIAL;
17861793 event_guard=event_guardt::NONE;
17871794
@@ -3716,12 +3723,12 @@ bool verilog_synthesis(
37163723 symbol_table_baset &symbol_table,
37173724 const irep_idt &module ,
37183725 verilog_standardt standard,
3719- message_handlert &message_handler ,
3720- const optionst &options )
3726+ bool ignore_initial ,
3727+ message_handlert &message_handler )
37213728{
37223729 const namespacet ns (symbol_table);
37233730 verilog_synthesist verilog_synthesis (
3724- standard, ns, symbol_table, module , options , message_handler);
3731+ standard, ignore_initial, ns, symbol_table, module , message_handler);
37253732 return verilog_synthesis.typecheck_main ();
37263733}
37273734
@@ -3744,14 +3751,13 @@ bool verilog_synthesis(
37443751 message_handlert &message_handler,
37453752 const namespacet &ns)
37463753{
3747- optionst options;
37483754 symbol_tablet symbol_table;
37493755
37503756 const auto errors_before =
37513757 message_handler.get_message_count (messaget::M_ERROR);
37523758
37533759 verilog_synthesist verilog_synthesis (
3754- standard, ns, symbol_table, module_identifier, options , message_handler);
3760+ standard, false , ns, symbol_table, module_identifier, message_handler);
37553761
37563762 try
37573763 {
0 commit comments