aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl')
-rw-r--r--src/vhdl/disp_vhdl.adb3
-rw-r--r--src/vhdl/sem.adb6
-rw-r--r--src/vhdl/sem_assocs.adb1
-rw-r--r--src/vhdl/sem_decls.adb1
4 files changed, 10 insertions, 1 deletions
diff --git a/src/vhdl/disp_vhdl.adb b/src/vhdl/disp_vhdl.adb
index 291214af6..ba72e4673 100644
--- a/src/vhdl/disp_vhdl.adb
+++ b/src/vhdl/disp_vhdl.adb
@@ -2346,7 +2346,8 @@ package body Disp_Vhdl is
when Iir_Kind_Association_Element_Open =>
Put ("open");
when Iir_Kind_Association_Element_Package
- | Iir_Kind_Association_Element_Type =>
+ | Iir_Kind_Association_Element_Type
+ | Iir_Kind_Association_Element_Subprogram =>
Disp_Name (Get_Actual (El));
when others =>
Conv := Get_In_Conversion (El);
diff --git a/src/vhdl/sem.adb b/src/vhdl/sem.adb
index b89e1f005..39916bb76 100644
--- a/src/vhdl/sem.adb
+++ b/src/vhdl/sem.adb
@@ -1479,6 +1479,12 @@ package body Sem is
when Iir_Kinds_Monadic_Operator =>
return Are_Trees_Equal (Get_Operand (Left), Get_Operand (Right));
+ when Iir_Kind_Function_Call =>
+ return Are_Trees_Equal (Get_Prefix (Left), Get_Prefix (Right))
+ and then
+ Are_Trees_Chain_Equal (Get_Parameter_Association_Chain (Left),
+ Get_Parameter_Association_Chain (Right));
+
when Iir_Kind_Access_Type_Definition
| Iir_Kind_Record_Type_Definition
| Iir_Kind_Array_Type_Definition
diff --git a/src/vhdl/sem_assocs.adb b/src/vhdl/sem_assocs.adb
index 6708355b9..f8620182c 100644
--- a/src/vhdl/sem_assocs.adb
+++ b/src/vhdl/sem_assocs.adb
@@ -1941,6 +1941,7 @@ package body Sem_Assocs is
end case;
Set_Named_Entity (Actual, Res);
+ Xrefs.Xref_Name (Actual);
Set_Use_Flag (Res, True);
end Sem_Association_Subprogram;
diff --git a/src/vhdl/sem_decls.adb b/src/vhdl/sem_decls.adb
index 9fac6d50e..8d3c15587 100644
--- a/src/vhdl/sem_decls.adb
+++ b/src/vhdl/sem_decls.adb
@@ -489,6 +489,7 @@ package body Sem_Decls is
procedure Sem_Interface_Subprogram_Declaration (Inter : Iir) is
begin
Sem_Subprogram_Specification (Inter);
+ Xref_Decl (Inter);
end Sem_Interface_Subprogram_Declaration;
procedure Sem_Interface_Chain (Interface_Chain: Iir;