diff options
author | Tristan Gingold <tgingold@free.fr> | 2023-01-07 18:13:32 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2023-01-09 06:40:13 +0100 |
commit | 1461594acf5bd134a5f011f44767eeef0d373500 (patch) | |
tree | 04349c1d897c81b77bded51fffd464cf644a661d /src/synth | |
parent | bb0da07799218cbddc0f4131bc817c4a50be65fd (diff) | |
download | ghdl-1461594acf5bd134a5f011f44767eeef0d373500.tar.gz ghdl-1461594acf5bd134a5f011f44767eeef0d373500.tar.bz2 ghdl-1461594acf5bd134a5f011f44767eeef0d373500.zip |
synth: fix handling of formal slices in individual associations
Diffstat (limited to 'src/synth')
-rw-r--r-- | src/synth/synth-vhdl_stmts.adb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/synth/synth-vhdl_stmts.adb b/src/synth/synth-vhdl_stmts.adb index 673934815..7f60d6c07 100644 --- a/src/synth/synth-vhdl_stmts.adb +++ b/src/synth/synth-vhdl_stmts.adb @@ -228,13 +228,15 @@ package body Synth.Vhdl_Stmts is Synth_Assignment_Prefix (Syn_Inst, Inter_Inst, Get_Prefix (Pfx), Dest_Base, Dest_Typ, Dest_Off, Dest_Dyn); - Strip_Const (Dest_Base); + + if Dest_Base.Val /= null then + Strip_Const (Dest_Base); + end if; Get_Onedimensional_Array_Bounds (Dest_Typ, Pfx_Bnd, El_Typ); Synth_Slice_Suffix (Syn_Inst, Pfx, Pfx_Bnd, El_Typ, Res_Bnd, Sl_Voff, Sl_Off); - if Sl_Voff = No_Net then -- Fixed slice. Dest_Typ := Create_Onedimensional_Array_Subtype |