aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth
diff options
context:
space:
mode:
Diffstat (limited to 'src/synth')
-rw-r--r--src/synth/synth-environment.adb3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/synth/synth-environment.adb b/src/synth/synth-environment.adb
index d082f3885..d5411b4e4 100644
--- a/src/synth/synth-environment.adb
+++ b/src/synth/synth-environment.adb
@@ -835,7 +835,8 @@ package body Synth.Environment is
or else (Off = Min_Off and then Pa.Offset < Off)
then
-- Reduce the width if the assignment is shorter.
- Wd := Width'Min (Wd, Get_Width (Pa.Value));
+ Wd := Width'Min
+ (Wd, Get_Width (Pa.Value) - (Off - Pa.Offset));
elsif Pa.Offset < Off + Wd then
-- Reduce the width when there is an assignment after
-- the current offset.