aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-parse.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2021-11-05 07:33:37 +0100
committerTristan Gingold <tgingold@free.fr>2021-11-05 07:33:37 +0100
commite6551b07a7137790e2deb554718d5bed2d4467b4 (patch)
treea49f84aaf8341ed4f081bcef1ad8256d1443ae60 /src/vhdl/vhdl-parse.adb
parentb0f3a909b0ee15b57b6999706fe1327f97a48a6c (diff)
downloadghdl-e6551b07a7137790e2deb554718d5bed2d4467b4.tar.gz
ghdl-e6551b07a7137790e2deb554718d5bed2d4467b4.tar.bz2
ghdl-e6551b07a7137790e2deb554718d5bed2d4467b4.zip
vhdl/psl: handle PSL inherit spec. For #1899
Diffstat (limited to 'src/vhdl/vhdl-parse.adb')
-rw-r--r--src/vhdl/vhdl-parse.adb12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/vhdl/vhdl-parse.adb b/src/vhdl/vhdl-parse.adb
index a5c62bb79..c04df340b 100644
--- a/src/vhdl/vhdl-parse.adb
+++ b/src/vhdl/vhdl-parse.adb
@@ -11233,11 +11233,19 @@ package body Vhdl.Parse is
First, Last : Iir;
Name : Iir;
begin
- Chain_Init (First, Last);
+ First := Null_Iir;
+ Last := Null_Iir;
loop
N := Create_Iir (Iir_Kind_PSL_Inherit_Spec);
Set_Location (N);
- Chain_Append (First, Last, N);
+
+ -- Append.
+ if First = Null_Iir then
+ First := N;
+ else
+ Set_Inherit_Spec_Chain (Last, N);
+ end if;
+ Last := N;
-- Skip 'inherit' or ','.
Scan;