aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-sem_inst.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-08-07 09:14:35 +0200
committerTristan Gingold <tgingold@free.fr>2022-08-07 12:14:25 +0200
commitf9aafbb59fd2f0a5ff21b225e5927909b486c9d8 (patch)
treed781d19f84015d48f1999a48d8cde2ff16bd5f66 /src/vhdl/vhdl-sem_inst.adb
parentbf1a98f5ebfd51680956fd7379652c1060f8e571 (diff)
downloadghdl-f9aafbb59fd2f0a5ff21b225e5927909b486c9d8.tar.gz
ghdl-f9aafbb59fd2f0a5ff21b225e5927909b486c9d8.tar.bz2
ghdl-f9aafbb59fd2f0a5ff21b225e5927909b486c9d8.zip
vhdl: add an owner to interface type definition
Diffstat (limited to 'src/vhdl/vhdl-sem_inst.adb')
-rw-r--r--src/vhdl/vhdl-sem_inst.adb7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/vhdl/vhdl-sem_inst.adb b/src/vhdl/vhdl-sem_inst.adb
index d184aa0ea..d8f2728ab 100644
--- a/src/vhdl/vhdl-sem_inst.adb
+++ b/src/vhdl/vhdl-sem_inst.adb
@@ -1253,7 +1253,12 @@ package body Vhdl.Sem_Inst is
declare
S : constant Iir := Get_Iir (N, F);
begin
- if S = E then
+ if F = Field_Interface_Type_Definition then
+ -- Do not substitute this Interface_Type_Definition,
+ -- it is only to own the type definition in the
+ -- uninstantiated interface.
+ null;
+ elsif S = E then
-- Substitute
Set_Iir (N, F, Rep);
pragma Assert (Get_Field_Attribute (F) = Attr_Ref);