diff options
author | Tristan Gingold <tgingold@free.fr> | 2021-08-22 22:14:44 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2021-08-23 07:24:03 +0200 |
commit | a20bce35a9ee05e8e2a4599e510d08fe2fd9ebc5 (patch) | |
tree | dec9edf5c3410fa2efbdb7849e62b0b66a11764d /src/vhdl/translate/trans-chap5.adb | |
parent | bbdff59e4e68e89033843f9344814c957b0b6250 (diff) | |
download | ghdl-a20bce35a9ee05e8e2a4599e510d08fe2fd9ebc5.tar.gz ghdl-a20bce35a9ee05e8e2a4599e510d08fe2fd9ebc5.tar.bz2 ghdl-a20bce35a9ee05e8e2a4599e510d08fe2fd9ebc5.zip |
Rework inertial associations.
Fix #1625
Fix #1672
Diffstat (limited to 'src/vhdl/translate/trans-chap5.adb')
-rw-r--r-- | src/vhdl/translate/trans-chap5.adb | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/vhdl/translate/trans-chap5.adb b/src/vhdl/translate/trans-chap5.adb index 9b2eec152..e9b11f8eb 100644 --- a/src/vhdl/translate/trans-chap5.adb +++ b/src/vhdl/translate/trans-chap5.adb @@ -760,9 +760,17 @@ package body Trans.Chap5 is -- Create non-collapsed signals. Chap4.Elab_Signal_Declaration_Object (Formal, Block_Parent, False); - -- And associate. - Elab_Port_Map_Aspect_Assoc - (Assoc, Formal, False, Formal_Env, Actual_Env); + -- And associate (if not an inertial association). + if (Get_Kind (Assoc) + = Iir_Kind_Association_Element_By_Name) + or else (Get_Expr_Staticness (Get_Actual (Assoc)) + /= None) + then + Elab_Port_Map_Aspect_Assoc + (Assoc, Formal, False, Formal_Env, Actual_Env); + else + Chap9.Elab_Inertial_Association (Assoc, Formal); + end if; end if; else -- By sub-element. |