aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/vhdl/translate/trans-chap9.adb19
-rw-r--r--src/vhdl/vhdl-canon.adb1
-rw-r--r--src/vhdl/vhdl-nodes.ads3
-rw-r--r--src/vhdl/vhdl-nodes_meta.adb199
-rw-r--r--src/vhdl/vhdl-sem_stmts.adb1
5 files changed, 116 insertions, 107 deletions
diff --git a/src/vhdl/translate/trans-chap9.adb b/src/vhdl/translate/trans-chap9.adb
index bea87eff6..b2f2cebba 100644
--- a/src/vhdl/translate/trans-chap9.adb
+++ b/src/vhdl/translate/trans-chap9.adb
@@ -1188,14 +1188,22 @@ package body Trans.Chap9 is
Base_Info : constant Block_Info_Acc := Get_Info (Base_Block);
Stmt : Iir;
Mark : Id_Mark_Type;
+ Kind : Iir_Kind;
begin
Chap4.Translate_Declaration_Chain_Subprograms
(Block, Subprg_Translate_Spec_And_Body);
Stmt := Get_Concurrent_Statement_Chain (Block);
while Stmt /= Null_Iir loop
- Push_Identifier_Prefix (Mark, Get_Identifier (Stmt));
- case Get_Kind (Stmt) is
+ Kind := Get_Kind (Stmt);
+ case Kind is
+ when Iir_Kind_Psl_Default_Clock =>
+ null;
+ when others =>
+ Push_Identifier_Prefix (Mark, Get_Identifier (Stmt));
+ end case;
+
+ case Kind is
when Iir_Kind_Process_Statement
| Iir_Kind_Sensitized_Process_Statement =>
if Flag_Direct_Drivers then
@@ -1281,7 +1289,12 @@ package body Trans.Chap9 is
when others =>
Error_Kind ("translate_block_subprograms", Stmt);
end case;
- Pop_Identifier_Prefix (Mark);
+ case Kind is
+ when Iir_Kind_Psl_Default_Clock =>
+ null;
+ when others =>
+ Pop_Identifier_Prefix (Mark);
+ end case;
Stmt := Get_Chain (Stmt);
end loop;
end Translate_Block_Subprograms;
diff --git a/src/vhdl/vhdl-canon.adb b/src/vhdl/vhdl-canon.adb
index 6d4e982cb..d5acdf171 100644
--- a/src/vhdl/vhdl-canon.adb
+++ b/src/vhdl/vhdl-canon.adb
@@ -1926,6 +1926,7 @@ package body Vhdl.Canon is
if Canon_Flag_Add_Labels then
case Get_Kind (Stmt) is
when Iir_Kind_Psl_Declaration
+ | Iir_Kind_Psl_Default_Clock
| Iir_Kind_Psl_Endpoint_Declaration =>
null;
when others =>
diff --git a/src/vhdl/vhdl-nodes.ads b/src/vhdl/vhdl-nodes.ads
index 017e58929..71ede45f0 100644
--- a/src/vhdl/vhdl-nodes.ads
+++ b/src/vhdl/vhdl-nodes.ads
@@ -3336,9 +3336,6 @@ package Vhdl.Nodes is
-- Get/Set_Psl_Boolean (Field1)
--
-- Get/Set_Chain (Field2)
- --
- -- Get/Set_Label (Field3)
- -- Get/Set_Identifier (Alias Field3)
-- Iir_Kind_Psl_Assert_Directive (Medium)
-- Iir_Kind_Psl_Assume_Directive (Medium)
diff --git a/src/vhdl/vhdl-nodes_meta.adb b/src/vhdl/vhdl-nodes_meta.adb
index 91f764376..25f1dc86c 100644
--- a/src/vhdl/vhdl-nodes_meta.adb
+++ b/src/vhdl/vhdl-nodes_meta.adb
@@ -4490,7 +4490,6 @@ package body Vhdl.Nodes_Meta is
Field_Component_Configuration,
-- Iir_Kind_Psl_Default_Clock
Field_Psl_Boolean,
- Field_Label,
Field_Parent,
Field_Chain,
-- Iir_Kind_Generate_Statement_Body
@@ -5455,104 +5454,104 @@ package body Vhdl.Nodes_Meta is
Iir_Kind_Case_Generate_Statement => 1717,
Iir_Kind_For_Generate_Statement => 1726,
Iir_Kind_Component_Instantiation_Statement => 1737,
- Iir_Kind_Psl_Default_Clock => 1741,
- Iir_Kind_Generate_Statement_Body => 1752,
- Iir_Kind_If_Generate_Else_Clause => 1758,
- Iir_Kind_Simple_Simultaneous_Statement => 1765,
- Iir_Kind_Simultaneous_Null_Statement => 1769,
- Iir_Kind_Simultaneous_Procedural_Statement => 1780,
- Iir_Kind_Simultaneous_Case_Statement => 1789,
- Iir_Kind_Simultaneous_If_Statement => 1798,
- Iir_Kind_Simultaneous_Elsif => 1804,
- Iir_Kind_Simple_Signal_Assignment_Statement => 1815,
- Iir_Kind_Conditional_Signal_Assignment_Statement => 1826,
- Iir_Kind_Selected_Waveform_Assignment_Statement => 1838,
- Iir_Kind_Signal_Force_Assignment_Statement => 1848,
- Iir_Kind_Signal_Release_Assignment_Statement => 1857,
- Iir_Kind_Null_Statement => 1861,
- Iir_Kind_Assertion_Statement => 1868,
- Iir_Kind_Report_Statement => 1874,
- Iir_Kind_Wait_Statement => 1882,
- Iir_Kind_Variable_Assignment_Statement => 1889,
- Iir_Kind_Conditional_Variable_Assignment_Statement => 1896,
- Iir_Kind_Return_Statement => 1902,
- Iir_Kind_For_Loop_Statement => 1913,
- Iir_Kind_While_Loop_Statement => 1924,
- Iir_Kind_Next_Statement => 1931,
- Iir_Kind_Exit_Statement => 1938,
- Iir_Kind_Case_Statement => 1946,
- Iir_Kind_Procedure_Call_Statement => 1952,
- Iir_Kind_Break_Statement => 1959,
- Iir_Kind_If_Statement => 1969,
- Iir_Kind_Elsif => 1975,
- Iir_Kind_Character_Literal => 1982,
- Iir_Kind_Simple_Name => 1989,
- Iir_Kind_Selected_Name => 1997,
- Iir_Kind_Operator_Symbol => 2002,
- Iir_Kind_Reference_Name => 2007,
- Iir_Kind_External_Constant_Name => 2016,
- Iir_Kind_External_Signal_Name => 2025,
- Iir_Kind_External_Variable_Name => 2035,
- Iir_Kind_Selected_By_All_Name => 2041,
- Iir_Kind_Parenthesis_Name => 2046,
- Iir_Kind_Package_Pathname => 2050,
- Iir_Kind_Absolute_Pathname => 2051,
- Iir_Kind_Relative_Pathname => 2052,
- Iir_Kind_Pathname_Element => 2057,
- Iir_Kind_Base_Attribute => 2059,
- Iir_Kind_Subtype_Attribute => 2064,
- Iir_Kind_Element_Attribute => 2069,
- Iir_Kind_Across_Attribute => 2074,
- Iir_Kind_Through_Attribute => 2079,
- Iir_Kind_Nature_Reference_Attribute => 2083,
- Iir_Kind_Left_Type_Attribute => 2088,
- Iir_Kind_Right_Type_Attribute => 2093,
- Iir_Kind_High_Type_Attribute => 2098,
- Iir_Kind_Low_Type_Attribute => 2103,
- Iir_Kind_Ascending_Type_Attribute => 2108,
- Iir_Kind_Image_Attribute => 2114,
- Iir_Kind_Value_Attribute => 2120,
- Iir_Kind_Pos_Attribute => 2126,
- Iir_Kind_Val_Attribute => 2132,
- Iir_Kind_Succ_Attribute => 2138,
- Iir_Kind_Pred_Attribute => 2144,
- Iir_Kind_Leftof_Attribute => 2150,
- Iir_Kind_Rightof_Attribute => 2156,
- Iir_Kind_Signal_Slew_Attribute => 2164,
- Iir_Kind_Quantity_Slew_Attribute => 2172,
- Iir_Kind_Ramp_Attribute => 2180,
- Iir_Kind_Zoh_Attribute => 2188,
- Iir_Kind_Ltf_Attribute => 2196,
- Iir_Kind_Ztf_Attribute => 2206,
- Iir_Kind_Dot_Attribute => 2213,
- Iir_Kind_Integ_Attribute => 2220,
- Iir_Kind_Above_Attribute => 2228,
- Iir_Kind_Quantity_Delayed_Attribute => 2236,
- Iir_Kind_Delayed_Attribute => 2245,
- Iir_Kind_Stable_Attribute => 2254,
- Iir_Kind_Quiet_Attribute => 2263,
- Iir_Kind_Transaction_Attribute => 2272,
- Iir_Kind_Event_Attribute => 2276,
- Iir_Kind_Active_Attribute => 2280,
- Iir_Kind_Last_Event_Attribute => 2284,
- Iir_Kind_Last_Active_Attribute => 2288,
- Iir_Kind_Last_Value_Attribute => 2292,
- Iir_Kind_Driving_Attribute => 2296,
- Iir_Kind_Driving_Value_Attribute => 2300,
- Iir_Kind_Behavior_Attribute => 2300,
- Iir_Kind_Structure_Attribute => 2300,
- Iir_Kind_Simple_Name_Attribute => 2307,
- Iir_Kind_Instance_Name_Attribute => 2312,
- Iir_Kind_Path_Name_Attribute => 2317,
- Iir_Kind_Left_Array_Attribute => 2324,
- Iir_Kind_Right_Array_Attribute => 2331,
- Iir_Kind_High_Array_Attribute => 2338,
- Iir_Kind_Low_Array_Attribute => 2345,
- Iir_Kind_Length_Array_Attribute => 2352,
- Iir_Kind_Ascending_Array_Attribute => 2359,
- Iir_Kind_Range_Array_Attribute => 2366,
- Iir_Kind_Reverse_Range_Array_Attribute => 2373,
- Iir_Kind_Attribute_Name => 2382
+ Iir_Kind_Psl_Default_Clock => 1740,
+ Iir_Kind_Generate_Statement_Body => 1751,
+ Iir_Kind_If_Generate_Else_Clause => 1757,
+ Iir_Kind_Simple_Simultaneous_Statement => 1764,
+ Iir_Kind_Simultaneous_Null_Statement => 1768,
+ Iir_Kind_Simultaneous_Procedural_Statement => 1779,
+ Iir_Kind_Simultaneous_Case_Statement => 1788,
+ Iir_Kind_Simultaneous_If_Statement => 1797,
+ Iir_Kind_Simultaneous_Elsif => 1803,
+ Iir_Kind_Simple_Signal_Assignment_Statement => 1814,
+ Iir_Kind_Conditional_Signal_Assignment_Statement => 1825,
+ Iir_Kind_Selected_Waveform_Assignment_Statement => 1837,
+ Iir_Kind_Signal_Force_Assignment_Statement => 1847,
+ Iir_Kind_Signal_Release_Assignment_Statement => 1856,
+ Iir_Kind_Null_Statement => 1860,
+ Iir_Kind_Assertion_Statement => 1867,
+ Iir_Kind_Report_Statement => 1873,
+ Iir_Kind_Wait_Statement => 1881,
+ Iir_Kind_Variable_Assignment_Statement => 1888,
+ Iir_Kind_Conditional_Variable_Assignment_Statement => 1895,
+ Iir_Kind_Return_Statement => 1901,
+ Iir_Kind_For_Loop_Statement => 1912,
+ Iir_Kind_While_Loop_Statement => 1923,
+ Iir_Kind_Next_Statement => 1930,
+ Iir_Kind_Exit_Statement => 1937,
+ Iir_Kind_Case_Statement => 1945,
+ Iir_Kind_Procedure_Call_Statement => 1951,
+ Iir_Kind_Break_Statement => 1958,
+ Iir_Kind_If_Statement => 1968,
+ Iir_Kind_Elsif => 1974,
+ Iir_Kind_Character_Literal => 1981,
+ Iir_Kind_Simple_Name => 1988,
+ Iir_Kind_Selected_Name => 1996,
+ Iir_Kind_Operator_Symbol => 2001,
+ Iir_Kind_Reference_Name => 2006,
+ Iir_Kind_External_Constant_Name => 2015,
+ Iir_Kind_External_Signal_Name => 2024,
+ Iir_Kind_External_Variable_Name => 2034,
+ Iir_Kind_Selected_By_All_Name => 2040,
+ Iir_Kind_Parenthesis_Name => 2045,
+ Iir_Kind_Package_Pathname => 2049,
+ Iir_Kind_Absolute_Pathname => 2050,
+ Iir_Kind_Relative_Pathname => 2051,
+ Iir_Kind_Pathname_Element => 2056,
+ Iir_Kind_Base_Attribute => 2058,
+ Iir_Kind_Subtype_Attribute => 2063,
+ Iir_Kind_Element_Attribute => 2068,
+ Iir_Kind_Across_Attribute => 2073,
+ Iir_Kind_Through_Attribute => 2078,
+ Iir_Kind_Nature_Reference_Attribute => 2082,
+ Iir_Kind_Left_Type_Attribute => 2087,
+ Iir_Kind_Right_Type_Attribute => 2092,
+ Iir_Kind_High_Type_Attribute => 2097,
+ Iir_Kind_Low_Type_Attribute => 2102,
+ Iir_Kind_Ascending_Type_Attribute => 2107,
+ Iir_Kind_Image_Attribute => 2113,
+ Iir_Kind_Value_Attribute => 2119,
+ Iir_Kind_Pos_Attribute => 2125,
+ Iir_Kind_Val_Attribute => 2131,
+ Iir_Kind_Succ_Attribute => 2137,
+ Iir_Kind_Pred_Attribute => 2143,
+ Iir_Kind_Leftof_Attribute => 2149,
+ Iir_Kind_Rightof_Attribute => 2155,
+ Iir_Kind_Signal_Slew_Attribute => 2163,
+ Iir_Kind_Quantity_Slew_Attribute => 2171,
+ Iir_Kind_Ramp_Attribute => 2179,
+ Iir_Kind_Zoh_Attribute => 2187,
+ Iir_Kind_Ltf_Attribute => 2195,
+ Iir_Kind_Ztf_Attribute => 2205,
+ Iir_Kind_Dot_Attribute => 2212,
+ Iir_Kind_Integ_Attribute => 2219,
+ Iir_Kind_Above_Attribute => 2227,
+ Iir_Kind_Quantity_Delayed_Attribute => 2235,
+ Iir_Kind_Delayed_Attribute => 2244,
+ Iir_Kind_Stable_Attribute => 2253,
+ Iir_Kind_Quiet_Attribute => 2262,
+ Iir_Kind_Transaction_Attribute => 2271,
+ Iir_Kind_Event_Attribute => 2275,
+ Iir_Kind_Active_Attribute => 2279,
+ Iir_Kind_Last_Event_Attribute => 2283,
+ Iir_Kind_Last_Active_Attribute => 2287,
+ Iir_Kind_Last_Value_Attribute => 2291,
+ Iir_Kind_Driving_Attribute => 2295,
+ Iir_Kind_Driving_Value_Attribute => 2299,
+ Iir_Kind_Behavior_Attribute => 2299,
+ Iir_Kind_Structure_Attribute => 2299,
+ Iir_Kind_Simple_Name_Attribute => 2306,
+ Iir_Kind_Instance_Name_Attribute => 2311,
+ Iir_Kind_Path_Name_Attribute => 2316,
+ Iir_Kind_Left_Array_Attribute => 2323,
+ Iir_Kind_Right_Array_Attribute => 2330,
+ Iir_Kind_High_Array_Attribute => 2337,
+ Iir_Kind_Low_Array_Attribute => 2344,
+ Iir_Kind_Length_Array_Attribute => 2351,
+ Iir_Kind_Ascending_Array_Attribute => 2358,
+ Iir_Kind_Range_Array_Attribute => 2365,
+ Iir_Kind_Reverse_Range_Array_Attribute => 2372,
+ Iir_Kind_Attribute_Name => 2381
);
function Get_Fields_First (K : Iir_Kind) return Fields_Index is
@@ -9457,7 +9456,6 @@ package body Vhdl.Nodes_Meta is
| Iir_Kind_Case_Generate_Statement
| Iir_Kind_For_Generate_Statement
| Iir_Kind_Component_Instantiation_Statement
- | Iir_Kind_Psl_Default_Clock
| Iir_Kind_Generate_Statement_Body
| Iir_Kind_Simple_Simultaneous_Statement
| Iir_Kind_Simultaneous_Null_Statement
@@ -9517,7 +9515,6 @@ package body Vhdl.Nodes_Meta is
| Iir_Kind_Case_Generate_Statement
| Iir_Kind_For_Generate_Statement
| Iir_Kind_Component_Instantiation_Statement
- | Iir_Kind_Psl_Default_Clock
| Iir_Kind_Simple_Simultaneous_Statement
| Iir_Kind_Simultaneous_Null_Statement
| Iir_Kind_Simultaneous_Procedural_Statement
diff --git a/src/vhdl/vhdl-sem_stmts.adb b/src/vhdl/vhdl-sem_stmts.adb
index f9290c61c..b75202d90 100644
--- a/src/vhdl/vhdl-sem_stmts.adb
+++ b/src/vhdl/vhdl-sem_stmts.adb
@@ -2570,6 +2570,7 @@ package body Vhdl.Sem_Stmts is
case Get_Kind (Stmt) is
when Iir_Kind_Psl_Declaration
+ | Iir_Kind_Psl_Default_Clock
| Iir_Kind_Psl_Endpoint_Declaration =>
-- Special case for in-lined PSL declarations.
null;