aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans-chap5.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-07-03 21:16:36 +0200
committerTristan Gingold <tgingold@free.fr>2019-07-03 21:16:36 +0200
commit947c15efbcbbc80b0162f23f9212aa383ae65a15 (patch)
tree2d1ecfc8f172bb5c9dfdc517a6c4a100b95ee649 /src/vhdl/translate/trans-chap5.adb
parentddbdb98b0ff491bef20bb47668ad1b61a1ac185a (diff)
downloadghdl-947c15efbcbbc80b0162f23f9212aa383ae65a15.tar.gz
ghdl-947c15efbcbbc80b0162f23f9212aa383ae65a15.tar.bz2
ghdl-947c15efbcbbc80b0162f23f9212aa383ae65a15.zip
vhdl: translate anonymous_signal_declaration.
Diffstat (limited to 'src/vhdl/translate/trans-chap5.adb')
-rw-r--r--src/vhdl/translate/trans-chap5.adb10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/vhdl/translate/trans-chap5.adb b/src/vhdl/translate/trans-chap5.adb
index 3df3a7324..fbc20be0c 100644
--- a/src/vhdl/translate/trans-chap5.adb
+++ b/src/vhdl/translate/trans-chap5.adb
@@ -361,7 +361,7 @@ package body Trans.Chap5 is
Formal_Env : Map_Env;
Actual_Env : Map_Env)
is
- Actual : constant Iir := Get_Actual (Assoc);
+ Actual : constant Iir := Strip_Reference_Name (Get_Actual (Assoc));
Formal_Type : constant Iir := Get_Type (Formal);
Actual_Type : constant Iir := Get_Type (Actual);
Port : constant Iir := Get_Interface_Of_Formal (Formal);
@@ -448,13 +448,7 @@ package body Trans.Chap5 is
-- 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);
- if Get_Kind (Actual) = Iir_Kind_Reference_Name then
- -- For vhdl08 association by expression.
- Actual_En := Chap7.Translate_Expression
- (Get_Referenced_Name (Actual), Formal_Type);
- else
- Actual_En := Chap7.Translate_Expression (Actual, Formal_Type);
- end if;
+ Actual_En := Chap7.Translate_Expression (Actual, Formal_Type);
Actual_Sig := E2M (Actual_En, Get_Info (Formal_Type), Mode_Value);
Mode := Connect_Value;
-- raise Internal_Error;