aboutsummaryrefslogtreecommitdiffstats
path: root/sem_names.adb
diff options
context:
space:
mode:
authorgingold <gingold@b72b5c32-5f01-0410-b925-b5c7b92870f7>2005-12-10 17:11:30 +0000
committergingold <gingold@b72b5c32-5f01-0410-b925-b5c7b92870f7>2005-12-10 17:11:30 +0000
commit4339f4ca9ed9fe2c58d390e7738a5d2ee7d43545 (patch)
tree8b49a281d46328ce06b5f45d8dea275f36feec55 /sem_names.adb
parent1716b52525c5b6baaba7e0a16d6d9dbf6633ac6d (diff)
downloadghdl-4339f4ca9ed9fe2c58d390e7738a5d2ee7d43545.tar.gz
ghdl-4339f4ca9ed9fe2c58d390e7738a5d2ee7d43545.tar.bz2
ghdl-4339f4ca9ed9fe2c58d390e7738a5d2ee7d43545.zip
bug fixes
Diffstat (limited to 'sem_names.adb')
-rw-r--r--sem_names.adb13
1 files changed, 12 insertions, 1 deletions
diff --git a/sem_names.adb b/sem_names.adb
index 10df0d4f4..9d19bfc74 100644
--- a/sem_names.adb
+++ b/sem_names.adb
@@ -55,7 +55,17 @@ package body Sem_Names is
for I in Natural loop
El := Get_Nth_Element (List, I);
exit when El = Null_Iir;
- Error_Msg_Sem (Disp_Subprg (El), El);
+ case Get_Kind (El) is
+ when Iir_Kind_Function_Declaration
+ | Iir_Kind_Procedure_Declaration
+ | Iir_Kind_Implicit_Function_Declaration
+ | Iir_Kind_Implicit_Procedure_Declaration =>
+ Error_Msg_Sem (Disp_Subprg (El), El);
+ when Iir_Kind_Function_Call =>
+ Error_Msg_Sem (Disp_Subprg (Get_Implementation (El)), El);
+ when others =>
+ Error_Msg_Sem (Disp_Node (El), El);
+ end case;
end loop;
end Disp_Overload_List;
@@ -3114,6 +3124,7 @@ package body Sem_Names is
return Null_Iir;
elsif Is_Overload_List (Res) then
Error_Overload (Name);
+ Disp_Overload_List (Get_Overload_List (Res), Name);
return Null_Iir;
else
Sem_Name_Free_Result (Expr, Res);