aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl')
-rw-r--r--src/vhdl/vhdl-annotations.adb7
-rw-r--r--src/vhdl/vhdl-canon.adb19
-rw-r--r--src/vhdl/vhdl-nodes.ads5
-rw-r--r--src/vhdl/vhdl-sem_psl.adb19
4 files changed, 35 insertions, 15 deletions
diff --git a/src/vhdl/vhdl-annotations.adb b/src/vhdl/vhdl-annotations.adb
index 4ec3e8849..20cfe9737 100644
--- a/src/vhdl/vhdl-annotations.adb
+++ b/src/vhdl/vhdl-annotations.adb
@@ -1155,7 +1155,12 @@ package body Vhdl.Annotations is
| Iir_Kind_Attribute_Declaration
| Iir_Kind_Attribute_Specification =>
Annotate_Declaration (Vunit_Info, Item);
- when Iir_Kind_Concurrent_Simple_Signal_Assignment =>
+ when Iir_Kinds_Concurrent_Signal_Assignment
+ | Iir_Kinds_Process_Statement
+ | Iir_Kinds_Generate_Statement
+ | Iir_Kind_Block_Statement
+ | Iir_Kind_Concurrent_Procedure_Call_Statement
+ | Iir_Kind_Component_Instantiation_Statement =>
Annotate_Concurrent_Statement (Vunit_Info, Item);
when others =>
Error_Kind ("annotate_vunit_declaration", Item);
diff --git a/src/vhdl/vhdl-canon.adb b/src/vhdl/vhdl-canon.adb
index 90ef9cac6..319a329a6 100644
--- a/src/vhdl/vhdl-canon.adb
+++ b/src/vhdl/vhdl-canon.adb
@@ -3435,14 +3435,19 @@ package body Vhdl.Canon is
when Iir_Kind_Psl_Cover_Directive =>
Canon_Psl_Cover_Directive (Item);
when Iir_Kind_Signal_Declaration
- | Iir_Kind_Function_Declaration
- | Iir_Kind_Procedure_Declaration
- | Iir_Kind_Function_Body
- | Iir_Kind_Procedure_Body
- | Iir_Kind_Attribute_Declaration
- | Iir_Kind_Attribute_Specification =>
+ | Iir_Kind_Function_Declaration
+ | Iir_Kind_Procedure_Declaration
+ | Iir_Kind_Function_Body
+ | Iir_Kind_Procedure_Body
+ | Iir_Kind_Attribute_Declaration
+ | Iir_Kind_Attribute_Specification =>
Item := Canon_Declaration (Unit, Item, Null_Iir);
- when Iir_Kind_Concurrent_Simple_Signal_Assignment =>
+ when Iir_Kinds_Concurrent_Signal_Assignment
+ | Iir_Kinds_Process_Statement
+ | Iir_Kinds_Generate_Statement
+ | Iir_Kind_Block_Statement
+ | Iir_Kind_Concurrent_Procedure_Call_Statement
+ | Iir_Kind_Component_Instantiation_Statement =>
Canon_Concurrent_Label (Item, Proc_Num);
Canon_Concurrent_Statement (Item, Unit);
when others =>
diff --git a/src/vhdl/vhdl-nodes.ads b/src/vhdl/vhdl-nodes.ads
index 05cbcf576..014520cf4 100644
--- a/src/vhdl/vhdl-nodes.ads
+++ b/src/vhdl/vhdl-nodes.ads
@@ -6664,6 +6664,11 @@ package Vhdl.Nodes is
--Iir_Kind_Psl_Cover_Directive
Iir_Kind_Psl_Restrict_Directive;
+ subtype Iir_Kinds_Generate_Statement is Iir_Kind range
+ Iir_Kind_If_Generate_Statement ..
+ --Iir_Kind_Case_Generate_Statement
+ Iir_Kind_For_Generate_Statement;
+
subtype Iir_Kinds_Concurrent_Signal_Assignment is Iir_Kind range
Iir_Kind_Concurrent_Simple_Signal_Assignment ..
--Iir_Kind_Concurrent_Conditional_Signal_Assignment
diff --git a/src/vhdl/vhdl-sem_psl.adb b/src/vhdl/vhdl-sem_psl.adb
index 290e13836..e4b3554fd 100644
--- a/src/vhdl/vhdl-sem_psl.adb
+++ b/src/vhdl/vhdl-sem_psl.adb
@@ -1195,15 +1195,20 @@ package body Vhdl.Sem_Psl is
when Iir_Kind_Psl_Cover_Directive =>
Sem_Psl_Cover_Directive (Item);
when Iir_Kind_Signal_Declaration
- | Iir_Kind_Function_Declaration
- | Iir_Kind_Procedure_Declaration
- | Iir_Kind_Function_Body
- | Iir_Kind_Procedure_Body
- | Iir_Kind_Attribute_Declaration
- | Iir_Kind_Attribute_Specification =>
+ | Iir_Kind_Function_Declaration
+ | Iir_Kind_Procedure_Declaration
+ | Iir_Kind_Function_Body
+ | Iir_Kind_Procedure_Body
+ | Iir_Kind_Attribute_Declaration
+ | Iir_Kind_Attribute_Specification =>
Sem_Decls.Sem_Declaration
(Item, Prev_Item, False, Attr_Spec_Chain);
- when Iir_Kind_Concurrent_Simple_Signal_Assignment =>
+ when Iir_Kinds_Concurrent_Signal_Assignment
+ | Iir_Kinds_Process_Statement
+ | Iir_Kinds_Generate_Statement
+ | Iir_Kind_Block_Statement
+ | Iir_Kind_Concurrent_Procedure_Call_Statement
+ | Iir_Kind_Component_Instantiation_Statement =>
Sem_Stmts.Sem_Concurrent_Statement (Item, False);
when others =>
Error_Kind ("sem_psl_verification_unit", Item);