aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-03-10 19:25:54 +0100
committerTristan Gingold <tgingold@free.fr>2020-03-10 19:25:54 +0100
commit3ea034dfb17430430b49000f4d9e4d54032e4b3e (patch)
tree853d12660619d930c0481a2503a1879321406986
parent811f14380a09f7c1d17f5cc117282882a420b6e7 (diff)
downloadghdl-3ea034dfb17430430b49000f4d9e4d54032e4b3e.tar.gz
ghdl-3ea034dfb17430430b49000f4d9e4d54032e4b3e.tar.bz2
ghdl-3ea034dfb17430430b49000f4d9e4d54032e4b3e.zip
synth-oper: handle slice of non-vector.
-rw-r--r--src/synth/synth-oper.adb6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/synth/synth-oper.adb b/src/synth/synth-oper.adb
index 8ad145a16..56f2c11fa 100644
--- a/src/synth/synth-oper.adb
+++ b/src/synth/synth-oper.adb
@@ -1049,8 +1049,6 @@ package body Synth.Oper is
end;
when Iir_Predefined_Element_Element_Concat =>
declare
- Ret_Typ : constant Type_Acc :=
- Get_Value_Type (Syn_Inst, Get_Return_Type (Imp));
N : Net;
Bnd : Bound_Type;
begin
@@ -1060,7 +1058,7 @@ package body Synth.Oper is
Bnd := Create_Bounds_From_Length
(Syn_Inst, Get_Index_Type (Get_Type (Expr), 0), 2);
return Create_Value_Net
- (N, Create_Onedimensional_Array_Subtype (Ret_Typ, Bnd));
+ (N, Create_Onedimensional_Array_Subtype (Expr_Typ, Bnd));
end;
when Iir_Predefined_Array_Array_Concat =>
declare
@@ -1077,7 +1075,7 @@ package body Synth.Oper is
Iir_Index32 (Get_Width (L) + Get_Width (R)));
return Create_Value_Net
- (N, Create_Vector_Type (Bnd, Get_Array_Element (Left.Typ)));
+ (N, Create_Onedimensional_Array_Subtype (Expr_Typ, Bnd));
end;
when Iir_Predefined_Integer_Plus =>
return Synth_Int_Dyadic (Id_Add);