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-helpers2.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-helpers2.adb')
-rw-r--r-- | src/vhdl/translate/trans-helpers2.adb | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/vhdl/translate/trans-helpers2.adb b/src/vhdl/translate/trans-helpers2.adb index c1aab8e5f..d332711ac 100644 --- a/src/vhdl/translate/trans-helpers2.adb +++ b/src/vhdl/translate/trans-helpers2.adb @@ -211,19 +211,18 @@ package body Trans.Helpers2 is procedure Register_Signal_List (List : Iir_List; Proc : O_Dnode) is + It : List_Iterator; El : Iir; Sig : Mnode; begin - if List = Null_Iir_List then - return; - end if; - for I in Natural loop - El := Get_Nth_Element (List, I); - exit when El = Null_Iir; + It := List_Iterate_Safe (List); + while Is_Valid (It) loop + El := Get_Element (It); Open_Temp; Sig := Chap6.Translate_Name (El, Mode_Signal); Register_Signal (Sig, Get_Type (El), Proc); Close_Temp; + Next (It); end loop; end Register_Signal_List; |