diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/synth/elab-vhdl_debug.adb | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/synth/elab-vhdl_debug.adb b/src/synth/elab-vhdl_debug.adb index 1ea810734..9b0a25454 100644 --- a/src/synth/elab-vhdl_debug.adb +++ b/src/synth/elab-vhdl_debug.adb @@ -1377,14 +1377,18 @@ package body Elab.Vhdl_Debug is -- Res := Execute_Name (Dbg_Cur_Frame, Expr, True); raise Internal_Error; else + -- TODO: check EXPR is an expression. + -- TODO: protected object. Res := Synth.Vhdl_Expr.Synth_Expression (Cur_Inst, Expr); end if; - if Res.Val.Kind = Value_Memory then - Disp_Memtyp (Get_Memtyp (Res), Get_Type (Expr)); - else - Elab.Vhdl_Values.Debug.Debug_Valtyp (Res); + if Res /= No_Valtyp then + if Res.Val.Kind = Value_Memory then + Disp_Memtyp (Get_Memtyp (Res), Get_Type (Expr)); + else + Elab.Vhdl_Values.Debug.Debug_Valtyp (Res); + end if; + New_Line; end if; - New_Line; -- Free value Release_Expr_Pool (Marker); |