diff options
Diffstat (limited to 'src/vhdl/canon.adb')
-rw-r--r-- | src/vhdl/canon.adb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/vhdl/canon.adb b/src/vhdl/canon.adb index b8c9d3d..e5cd488 100644 --- a/src/vhdl/canon.adb +++ b/src/vhdl/canon.adb @@ -18,6 +18,7 @@ with Errorout; use Errorout; with Iirs_Utils; use Iirs_Utils; with Types; use Types; +with Flags; with Name_Table; with Sem; with Iir_Chains; use Iir_Chains; @@ -1244,8 +1245,11 @@ package body Canon is Is_Sensitized : Boolean; begin -- Optimization: the process is a sensitized process only if the - -- procedure is known not to have wait statement. - Is_Sensitized := Get_Wait_State (Imp) = False; + -- procedure is known not to have wait statement. This is possible only + -- when generating code at once for the whole design, otherwise this + -- may create discrepencies in translate structures due to states. + Is_Sensitized := + (Get_Wait_State (Imp) = False) and Flags.Flag_Whole_Analyze; -- LRM93 9.3 -- The equivalent process statement has also no sensitivity list, an |