aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans-chap5.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2018-02-20 07:56:41 +0100
committerTristan Gingold <tgingold@free.fr>2018-02-20 07:56:41 +0100
commit472552e574ac70d0c32746059141347c50edee55 (patch)
tree6f9846f15928b5bb3925fb73d7751e0be8a5dce4 /src/vhdl/translate/trans-chap5.adb
parent84f88ca2b7c9395feffd5b298f822ddb7260a57a (diff)
downloadghdl-472552e574ac70d0c32746059141347c50edee55.tar.gz
ghdl-472552e574ac70d0c32746059141347c50edee55.tar.bz2
ghdl-472552e574ac70d0c32746059141347c50edee55.zip
translation: for port assiation by expression: handle formal before actual.
Fix #532
Diffstat (limited to 'src/vhdl/translate/trans-chap5.adb')
-rw-r--r--src/vhdl/translate/trans-chap5.adb4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vhdl/translate/trans-chap5.adb b/src/vhdl/translate/trans-chap5.adb
index d140a4ed0..5f8375760 100644
--- a/src/vhdl/translate/trans-chap5.adb
+++ b/src/vhdl/translate/trans-chap5.adb
@@ -437,11 +437,11 @@ package body Trans.Chap5 is
else
-- Association by value. The formal cannot be referenced in the
- -- actual.
+ -- actual, but the type of the formal may be used by the actual.
Set_Map_Env (Formal_Env);
+ Chap6.Translate_Signal_Name (Formal, Formal_Sig, Formal_Val);
Actual_En := Chap7.Translate_Expression (Actual, Formal_Type);
Actual_Sig := E2M (Actual_En, Get_Info (Formal_Type), Mode_Value);
- Chap6.Translate_Signal_Name (Formal, Formal_Sig, Formal_Val);
Mode := Connect_Value;
-- raise Internal_Error;
end if;