diff options
author | Tristan Gingold <tgingold@free.fr> | 2017-11-11 08:48:28 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2017-11-11 08:48:28 +0100 |
commit | e8a21ffe5226aad4970bd1facd4a3464a4b436f1 (patch) | |
tree | 6dabc27375bc31dbd435d50a98dc223fa4145ac2 /src/vhdl/configuration.adb | |
parent | 9a90393e30827308ec6cd834963f5359158115a0 (diff) | |
download | ghdl-e8a21ffe5226aad4970bd1facd4a3464a4b436f1.tar.gz ghdl-e8a21ffe5226aad4970bd1facd4a3464a4b436f1.tar.bz2 ghdl-e8a21ffe5226aad4970bd1facd4a3464a4b436f1.zip |
Rework list implementation, use iterator.
Diffstat (limited to 'src/vhdl/configuration.adb')
-rw-r--r-- | src/vhdl/configuration.adb | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/vhdl/configuration.adb b/src/vhdl/configuration.adb index f02c17d25..1d32b9c1f 100644 --- a/src/vhdl/configuration.adb +++ b/src/vhdl/configuration.adb @@ -40,6 +40,7 @@ package body Configuration is procedure Add_Design_Unit (Unit : Iir_Design_Unit; From : Iir) is List : Iir_List; + It : List_Iterator; El : Iir; Lib_Unit : Iir; File : Iir_Design_File; @@ -111,9 +112,9 @@ package body Configuration is -- Note: a design unit may be referenced but unused. -- (eg: component specification which does not apply). List := Get_Dependence_List (Unit); - for I in Natural loop - El := Get_Nth_Element (List, I); - exit when El = Null_Iir; + It := List_Iterate (List); + while Is_Valid (It) loop + El := Get_Element (It); El := Libraries.Find_Design_Unit (El); if El /= Null_Iir then Lib_Unit := Get_Library_Unit (El); @@ -129,6 +130,7 @@ package body Configuration is end case; end if; end if; + Next (It); end loop; -- Lib_Unit may have changed. |