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/translate/trans-chap2.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/translate/trans-chap2.adb')
-rw-r--r-- | src/vhdl/translate/trans-chap2.adb | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/vhdl/translate/trans-chap2.adb b/src/vhdl/translate/trans-chap2.adb index c3260008f..41913c452 100644 --- a/src/vhdl/translate/trans-chap2.adb +++ b/src/vhdl/translate/trans-chap2.adb @@ -1118,17 +1118,17 @@ package body Trans.Chap2 is procedure Instantiate_Iir_List_Info (L : Iir_List) is - El : Iir; + It : List_Iterator; begin case L is when Null_Iir_List | Iir_List_All => return; when others => - for I in Natural loop - El := Get_Nth_Element (L, I); - exit when El = Null_Iir; - Instantiate_Iir_Info (El); + It := List_Iterate (L); + while Is_Valid (It) loop + Instantiate_Iir_Info (Get_Element (It)); + Next (It); end loop; end case; end Instantiate_Iir_List_Info; @@ -1704,15 +1704,14 @@ package body Trans.Chap2 is procedure Elab_Dependence (Design_Unit: Iir_Design_Unit) is - Depend_List : Iir_Design_Unit_List; + Depend_List : constant Iir_List := Get_Dependence_List (Design_Unit); + It : List_Iterator; Design : Iir; Library_Unit: Iir; begin - Depend_List := Get_Dependence_List (Design_Unit); - - for I in Natural loop - Design := Get_Nth_Element (Depend_List, I); - exit when Design = Null_Iir; + It := List_Iterate (Depend_List); + while Is_Valid (It) loop + Design := Get_Element (It); if Get_Kind (Design) = Iir_Kind_Design_Unit then Library_Unit := Get_Library_Unit (Design); case Get_Kind (Library_Unit) is @@ -1737,6 +1736,7 @@ package body Trans.Chap2 is Error_Kind ("elab_dependence", Library_Unit); end case; end if; + Next (It); end loop; end Elab_Dependence; |