aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/vhdl/sem_assocs.adb5
-rw-r--r--src/vhdl/sem_names.adb4
2 files changed, 7 insertions, 2 deletions
diff --git a/src/vhdl/sem_assocs.adb b/src/vhdl/sem_assocs.adb
index 971962288..299242a2f 100644
--- a/src/vhdl/sem_assocs.adb
+++ b/src/vhdl/sem_assocs.adb
@@ -1828,6 +1828,11 @@ package body Sem_Assocs is
null;
end case;
+ if Actual = Null_Iir then
+ Match := Fully_Compatible;
+ return;
+ end if;
+
-- There could be an ambiguity between a conversion and a normal
-- actual expression. Check if the new actual is an object and
-- if the object is of the corresponding class.
diff --git a/src/vhdl/sem_names.adb b/src/vhdl/sem_names.adb
index b6150b8bb..033762bd5 100644
--- a/src/vhdl/sem_names.adb
+++ b/src/vhdl/sem_names.adb
@@ -2587,8 +2587,8 @@ package body Sem_Names is
Assoc_Chain := Get_Association_Chain (Name);
Actual := Get_One_Actual (Assoc_Chain);
- if Kind_In (Prefix, Iir_Kind_Type_Declaration,
- Iir_Kind_Subtype_Declaration)
+ if Kind_In (Prefix,
+ Iir_Kind_Type_Declaration, Iir_Kind_Subtype_Declaration)
then
-- A type conversion. The prefix is a type mark.
declare