@@ -1459,7 +1459,11 @@ void verilog_synthesist::synth_module_instance(
1459
1459
1460
1460
// make sure the module is synthesized already
1461
1461
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 ());
1463
1467
1464
1468
for (auto &instance : statement.instances ())
1465
1469
expand_module_instance (module_symbol, instance, trans);
@@ -1782,6 +1786,9 @@ void verilog_synthesist::synth_initial(
1782
1786
<< " initial module item expected to have one operand" ;
1783
1787
}
1784
1788
1789
+ if (ignore_initial)
1790
+ return ;
1791
+
1785
1792
construct=constructt::INITIAL;
1786
1793
event_guard=event_guardt::NONE;
1787
1794
@@ -3716,12 +3723,12 @@ bool verilog_synthesis(
3716
3723
symbol_table_baset &symbol_table,
3717
3724
const irep_idt &module ,
3718
3725
verilog_standardt standard,
3719
- message_handlert &message_handler ,
3720
- const optionst &options )
3726
+ bool ignore_initial ,
3727
+ message_handlert &message_handler )
3721
3728
{
3722
3729
const namespacet ns (symbol_table);
3723
3730
verilog_synthesist verilog_synthesis (
3724
- standard, ns, symbol_table, module , options , message_handler);
3731
+ standard, ignore_initial, ns, symbol_table, module , message_handler);
3725
3732
return verilog_synthesis.typecheck_main ();
3726
3733
}
3727
3734
@@ -3744,14 +3751,13 @@ bool verilog_synthesis(
3744
3751
message_handlert &message_handler,
3745
3752
const namespacet &ns)
3746
3753
{
3747
- optionst options;
3748
3754
symbol_tablet symbol_table;
3749
3755
3750
3756
const auto errors_before =
3751
3757
message_handler.get_message_count (messaget::M_ERROR);
3752
3758
3753
3759
verilog_synthesist verilog_synthesis (
3754
- standard, ns, symbol_table, module_identifier, options , message_handler);
3760
+ standard, false , ns, symbol_table, module_identifier, message_handler);
3755
3761
3756
3762
try
3757
3763
{
0 commit comments