diff options
author | Tristan Gingold <tgingold@free.fr> | 2022-05-24 08:02:19 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2022-05-24 08:02:19 +0200 |
commit | 66429d454f4316155f5b94292e0e9a0c65890d01 (patch) | |
tree | f0d438a199ba67d0534cba37ed7fbd291e06e5cb /src/synth/synth-vhdl_environment.adb | |
parent | ca9c0eaaf5d2c4fc1c6ff6883e542593d1c93a58 (diff) | |
download | ghdl-66429d454f4316155f5b94292e0e9a0c65890d01.tar.gz ghdl-66429d454f4316155f5b94292e0e9a0c65890d01.tar.bz2 ghdl-66429d454f4316155f5b94292e0e9a0c65890d01.zip |
elab-vhdl_objtypes: use value_offsets for record elements offset.
Diffstat (limited to 'src/synth/synth-vhdl_environment.adb')
-rw-r--r-- | src/synth/synth-vhdl_environment.adb | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/synth/synth-vhdl_environment.adb b/src/synth/synth-vhdl_environment.adb index 711673fda..e86cd7a7c 100644 --- a/src/synth/synth-vhdl_environment.adb +++ b/src/synth/synth-vhdl_environment.adb @@ -142,14 +142,14 @@ package body Synth.Vhdl_Environment is Sub_Off : Uns32; Sub_Wd : Width; begin - if Off + Wd <= El.Boff then + if Off + Wd <= El.Offs.Net_Off then -- Not covered anymore. exit; - elsif Off >= El.Boff + El.Typ.W then + elsif Off >= El.Offs.Net_Off + El.Typ.W then -- Not yet covered. null; - elsif Off <= El.Boff - and then Off + Wd >= El.Boff + El.Typ.W + elsif Off <= El.Offs.Net_Off + and then Off + Wd >= El.Offs.Net_Off + El.Typ.W then -- Fully covered. Info_Msg_Synth @@ -158,13 +158,13 @@ package body Synth.Vhdl_Environment is & Vhdl.Utils.Image_Identifier (Field)); else -- Partially covered. - if Off < El.Boff then + if Off < El.Offs.Net_Off then Sub_Off := 0; - Sub_Wd := Wd - (El.Boff - Off); + Sub_Wd := Wd - (El.Offs.Net_Off - Off); Sub_Wd := Width'Min (Sub_Wd, El.Typ.W); else - Sub_Off := Off - El.Boff; - Sub_Wd := El.Typ.W - (Off - El.Boff); + Sub_Off := Off - El.Offs.Net_Off; + Sub_Wd := El.Typ.W - (Off - El.Offs.Net_Off); Sub_Wd := Width'Min (Sub_Wd, Wd); end if; Info_Subnet_Vhdl |