aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2015-05-10 16:02:15 +0200
committerTristan Gingold <tgingold@free.fr>2015-05-10 16:02:15 +0200
commit7b7f3c1113a767b59e13cc49fe818c9c1efde15e (patch)
tree8775852e6a0678231f17a1c3cbbca6a80e471fd8 /src
parent09714dd3c1d002b9fbfed5c1c3cf55ae90cd56dc (diff)
downloadghdl-7b7f3c1113a767b59e13cc49fe818c9c1efde15e.tar.gz
ghdl-7b7f3c1113a767b59e13cc49fe818c9c1efde15e.tar.bz2
ghdl-7b7f3c1113a767b59e13cc49fe818c9c1efde15e.zip
Correctly handle overload of subprogram in presence of subprogram alias.
Fix ticket43 and ticket44.
Diffstat (limited to 'src')
-rw-r--r--src/vhdl/sem.adb7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/vhdl/sem.adb b/src/vhdl/sem.adb
index 3a3f50540..b1d1015e2 100644
--- a/src/vhdl/sem.adb
+++ b/src/vhdl/sem.adb
@@ -1618,8 +1618,13 @@ package body Sem is
when Iir_Kind_Enumeration_Literal =>
-- Enumeration literal are ignored for overload number.
Inter := Get_Next_Interpretation (Inter);
+ when Iir_Kind_Non_Object_Alias_Declaration =>
+ -- Subprogram aliases aren't considered, just skip them.
+ -- (No subprogram is created by an alias).
+ Inter := Get_Next_Interpretation (Inter);
when others =>
- -- An error ?
+ -- Case of user error: redefinition of an identifier.
+ -- Error message is generated by sem_scope.
Set_Overload_Number (Decl, 0);
return;
end case;