aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl')
-rw-r--r--src/vhdl/sem_assocs.adb8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/vhdl/sem_assocs.adb b/src/vhdl/sem_assocs.adb
index 07fb470e1..48856557c 100644
--- a/src/vhdl/sem_assocs.adb
+++ b/src/vhdl/sem_assocs.adb
@@ -2424,8 +2424,12 @@ package body Sem_Assocs is
-- Try as 'normal' or individual assoc.
Search_Interface (Assoc, Inter, Pos);
- if Get_Kind (Formal) = Iir_Kind_Parenthesis_Name then
- -- Try as formal conversion.
+ if Get_Kind (Formal) = Iir_Kind_Parenthesis_Name
+ and then
+ Get_Kind (Assoc) = Iir_Kind_Association_Element_By_Expression
+ then
+ -- Try as formal conversion, only if the actual is not open
+ -- according to LRM08 6.5.7 Association lists.
Revert_Sem_Association (Assoc);
Saved_Assoc := Sem_Formal_Conversion (Assoc);