aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-05-29 08:45:06 +0200
committerTristan Gingold <tgingold@free.fr>2022-05-29 08:45:06 +0200
commit0bdb756cbf8f8703980d74f7f3ff4b9e8c9851a6 (patch)
tree691ab2252c51f42a491715cf4853761c52d8ce07
parent91f74c1d54b9e5547e38fbbacb0f25fe3b22be3a (diff)
downloadghdl-0bdb756cbf8f8703980d74f7f3ff4b9e8c9851a6.tar.gz
ghdl-0bdb756cbf8f8703980d74f7f3ff4b9e8c9851a6.tar.bz2
ghdl-0bdb756cbf8f8703980d74f7f3ff4b9e8c9851a6.zip
synth-vhdl_stmts: export two procedures, adjust assertion message
-rw-r--r--src/synth/synth-vhdl_stmts.adb11
-rw-r--r--src/synth/synth-vhdl_stmts.ads4
2 files changed, 10 insertions, 5 deletions
diff --git a/src/synth/synth-vhdl_stmts.adb b/src/synth/synth-vhdl_stmts.adb
index 27ff9642d..a8e24eedf 100644
--- a/src/synth/synth-vhdl_stmts.adb
+++ b/src/synth/synth-vhdl_stmts.adb
@@ -341,6 +341,7 @@ package body Synth.Vhdl_Stmts is
| Iir_Kind_Interface_Signal_Declaration
| Iir_Kind_Variable_Declaration
| Iir_Kind_Signal_Declaration
+ | Iir_Kind_Object_Alias_Declaration
| Iir_Kind_Indexed_Name
| Iir_Kind_Slice_Name
| Iir_Kind_Dereference =>
@@ -2970,7 +2971,7 @@ package body Synth.Vhdl_Stmts is
Put_Err ("): ");
if Rep = No_Valtyp then
- Put_Line_Err ("assertion failure");
+ Put_Line_Err ("Assertion violation");
else
Put_Line_Err (Value_To_String (Rep));
end if;
@@ -2981,11 +2982,11 @@ package body Synth.Vhdl_Stmts is
end if;
end Synth_Static_Report;
- procedure Synth_Static_Report_Statement (Inst : Synth_Instance_Acc;
- Stmt : Node) is
+ procedure Execute_Report_Statement (Inst : Synth_Instance_Acc;
+ Stmt : Node) is
begin
Synth_Static_Report (Inst, Stmt);
- end Synth_Static_Report_Statement;
+ end Execute_Report_Statement;
-- Return True if EXPR can be evaluated with static values.
-- Does not need to be fully accurate, used for report/assert messages.
@@ -3146,7 +3147,7 @@ package body Synth.Vhdl_Stmts is
Synth_Procedure_Call (C.Inst, Stmt);
when Iir_Kind_Report_Statement =>
if not Is_Dyn then
- Synth_Static_Report_Statement (C.Inst, Stmt);
+ Execute_Report_Statement (C.Inst, Stmt);
else
-- Not executed.
-- Depends on the execution path: the report statement may
diff --git a/src/synth/synth-vhdl_stmts.ads b/src/synth/synth-vhdl_stmts.ads
index 36cdd5303..6574ce132 100644
--- a/src/synth/synth-vhdl_stmts.ads
+++ b/src/synth/synth-vhdl_stmts.ads
@@ -103,6 +103,8 @@ package Synth.Vhdl_Stmts is
procedure Execute_Assertion_Statement (Inst : Synth_Instance_Acc;
Stmt : Node);
+ procedure Execute_Report_Statement (Inst : Synth_Instance_Acc;
+ Stmt : Node);
procedure Init_For_Loop_Statement (Inst : Synth_Instance_Acc;
Stmt : Node;
Val : out Valtyp);
@@ -110,6 +112,8 @@ package Synth.Vhdl_Stmts is
Stmt : Node);
procedure Synth_Variable_Assignment (Inst : Synth_Instance_Acc;
Stmt : Node);
+ procedure Synth_Conditional_Variable_Assignment
+ (Inst : Synth_Instance_Acc; Stmt : Node);
procedure Synth_Procedure_Call (Syn_Inst : Synth_Instance_Acc; Stmt : Node);