aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/netlists-expands.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-11-01 19:03:20 +0100
committerTristan Gingold <tgingold@free.fr>2019-11-03 21:15:06 +0100
commit00e384d9d1ce5896198c3e817d6162a4eccfd693 (patch)
tree7eb94905e160432bffec4f9ac8b795e506e28a05 /src/synth/netlists-expands.adb
parent534f39a26135724ceaa81b60de8856b723953f5b (diff)
downloadghdl-00e384d9d1ce5896198c3e817d6162a4eccfd693.tar.gz
ghdl-00e384d9d1ce5896198c3e817d6162a4eccfd693.tar.bz2
ghdl-00e384d9d1ce5896198c3e817d6162a4eccfd693.zip
netlists-expands: use a safe walk.
Diffstat (limited to 'src/synth/netlists-expands.adb')
-rw-r--r--src/synth/netlists-expands.adb4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/synth/netlists-expands.adb b/src/synth/netlists-expands.adb
index a759e08f3..365f9ab4a 100644
--- a/src/synth/netlists-expands.adb
+++ b/src/synth/netlists-expands.adb
@@ -340,10 +340,12 @@ package body Netlists.Expands is
procedure Expand_Gates (Ctxt : Context_Acc; M : Module)
is
Inst : Instance;
+ Ninst : Instance;
begin
Inst := Get_First_Instance (M);
while Inst /= No_Instance loop
-- Walk all the instances of M:
+ Ninst := Get_Next_Instance (Inst);
case Get_Id (Inst) is
when Id_Dyn_Extract =>
Expand_Dyn_Extract (Ctxt, Inst);
@@ -355,7 +357,7 @@ package body Netlists.Expands is
null;
end case;
- Inst := Get_Next_Instance (Inst);
+ Inst := Ninst;
end loop;
end Expand_Gates;
end Netlists.Expands;