aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-01-05 11:25:59 +0100
committerTristan Gingold <tgingold@free.fr>2020-01-06 18:20:28 +0100
commitda9d03552cf47d96fb7d2157b3500059115996f7 (patch)
treef69d9f50959b10774d919e258d71a138104e87cd /src/vhdl/translate
parent09af03505bbd72f676394415c16c14bea5154513 (diff)
downloadghdl-da9d03552cf47d96fb7d2157b3500059115996f7.tar.gz
ghdl-da9d03552cf47d96fb7d2157b3500059115996f7.tar.bz2
ghdl-da9d03552cf47d96fb7d2157b3500059115996f7.zip
vhdl: fix multiple reference in trans-chap3.
Diffstat (limited to 'src/vhdl/translate')
-rw-r--r--src/vhdl/translate/trans-chap3.adb8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/vhdl/translate/trans-chap3.adb b/src/vhdl/translate/trans-chap3.adb
index 64e658629..9289e04bb 100644
--- a/src/vhdl/translate/trans-chap3.adb
+++ b/src/vhdl/translate/trans-chap3.adb
@@ -3580,7 +3580,11 @@ package body Trans.Chap3 is
Get_Elements_Declaration_List (R_Type);
Cond : O_Enode;
Sub_Cond : O_Enode;
+ L_Bounds1 : Mnode;
+ R_Bounds1 : Mnode;
begin
+ L_Bounds1 := Stabilize (L_Bounds);
+ R_Bounds1 := Stabilize (R_Bounds);
Cond := O_Enode_Null;
for I in Flist_First .. Flist_Last (L_El_List) loop
declare
@@ -3592,9 +3596,9 @@ package body Trans.Chap3 is
if Types_Match (L_El_Type, R_El_Type) = Unknown then
Sub_Cond := Check_Match_Cond
(L_El_Type,
- Record_Bounds_To_Element_Bounds (L_Bounds, L_El),
+ Record_Bounds_To_Element_Bounds (L_Bounds1, L_El),
R_El_Type,
- Record_Bounds_To_Element_Bounds (R_Bounds, R_El));
+ Record_Bounds_To_Element_Bounds (R_Bounds1, R_El));
if Cond = O_Enode_Null then
Cond := Sub_Cond;
else