aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/elab-vhdl_expr.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2023-02-08 11:31:04 +0100
committerTristan Gingold <tgingold@free.fr>2023-02-08 16:04:34 +0100
commit99dbf1376808a1bffb6886811d1585e34673b078 (patch)
treeea7b786be0ec52ac6c9501aaa813317ff60470af /src/synth/elab-vhdl_expr.adb
parent410f08aa700ee3c4cee834de2266ee9a09fd27bf (diff)
downloadghdl-99dbf1376808a1bffb6886811d1585e34673b078.tar.gz
ghdl-99dbf1376808a1bffb6886811d1585e34673b078.tar.bz2
ghdl-99dbf1376808a1bffb6886811d1585e34673b078.zip
synth: use same layout for records in memory as translate
Diffstat (limited to 'src/synth/elab-vhdl_expr.adb')
-rw-r--r--src/synth/elab-vhdl_expr.adb12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/synth/elab-vhdl_expr.adb b/src/synth/elab-vhdl_expr.adb
index 2ef7d8982..bfd4aa3aa 100644
--- a/src/synth/elab-vhdl_expr.adb
+++ b/src/synth/elab-vhdl_expr.adb
@@ -423,18 +423,18 @@ package body Elab.Vhdl_Expr is
case Btyp.Kind is
when Type_Vector =>
pragma Assert (El_Typ.Kind in Type_Nets);
- Res := Create_Vector_Type (Bnd, Btyp.Arr_El);
+ Res := Create_Vector_Type (Bnd, False, Btyp.Arr_El);
when Type_Unbounded_Vector =>
pragma Assert (El_Typ.Kind in Type_Nets);
- Res := Create_Vector_Type (Bnd, Btyp.Uarr_El);
+ Res := Create_Vector_Type (Bnd, False, Btyp.Uarr_El);
when Type_Array =>
pragma Assert (Btyp.Alast);
pragma Assert (Is_Bounded_Type (Btyp.Arr_El));
- Res := Create_Array_Type (Bnd, True, Btyp.Arr_El);
+ Res := Create_Array_Type (Bnd, False, True, Btyp.Arr_El);
when Type_Unbounded_Array =>
pragma Assert (Btyp.Ulast);
pragma Assert (Is_Bounded_Type (El_Typ));
- Res := Create_Array_Type (Bnd, True, El_Typ);
+ Res := Create_Array_Type (Bnd, False, True, El_Typ);
when others =>
raise Internal_Error;
end case;
@@ -584,9 +584,9 @@ package body Elab.Vhdl_Expr is
El_Type := Get_Array_Element (Str_Typ);
if El_Type.Kind in Type_Nets then
- Res_Type := Create_Vector_Type (Bounds, El_Type);
+ Res_Type := Create_Vector_Type (Bounds, True, El_Type);
else
- Res_Type := Create_Array_Type (Bounds, True, El_Type);
+ Res_Type := Create_Array_Type (Bounds, True, True, El_Type);
end if;
Res := Create_Value_Memory (Res_Type, Current_Pool);