diff options
Diffstat (limited to 'src/vhdl/translate/trans_analyzes.adb')
-rw-r--r-- | src/vhdl/translate/trans_analyzes.adb | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/src/vhdl/translate/trans_analyzes.adb b/src/vhdl/translate/trans_analyzes.adb index 8fce7c2bc..427989935 100644 --- a/src/vhdl/translate/trans_analyzes.adb +++ b/src/vhdl/translate/trans_analyzes.adb @@ -97,13 +97,7 @@ package body Trans_Analyzes is Inter := Get_Interface_Declaration_Chain (Get_Implementation (Call)); while Assoc /= Null_Iir loop - Formal := Get_Formal (Assoc); - if Formal = Null_Iir then - Formal := Inter; - Inter := Get_Chain (Inter); - else - Formal := Get_Association_Interface (Assoc); - end if; + Formal := Get_Association_Interface (Assoc, Inter); if Get_Kind (Assoc) = Iir_Kind_Association_Element_By_Expression and then @@ -112,7 +106,7 @@ package body Trans_Analyzes is then Status := Extract_Driver_Target (Get_Actual (Assoc)); end if; - Assoc := Get_Chain (Assoc); + Next_Association_Interface (Assoc, Inter); end loop; end; when others => |