aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/synth/elab-vhdl_debug.adb14
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);