aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/sem_specs.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/sem_specs.adb')
-rw-r--r--src/vhdl/sem_specs.adb9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/vhdl/sem_specs.adb b/src/vhdl/sem_specs.adb
index 5a1d511e4..b87a6f160 100644
--- a/src/vhdl/sem_specs.adb
+++ b/src/vhdl/sem_specs.adb
@@ -1510,7 +1510,11 @@ package body Sem_Specs is
Aspect := Create_Iir (Iir_Kind_Entity_Aspect_Entity);
Location_Copy (Aspect, Parent);
+ -- Create a name for the entity. As this is a default binding
+ -- indication, the design unit does *NOT* depend on the entity, so the
+ -- reference is a forward reference.
Entity_Name := Build_Simple_Name (Entity, Parent);
+ Set_Is_Forward_Ref (Entity_Name, True);
Set_Entity_Name (Aspect, Entity_Name);
Set_Entity_Aspect (Res, Aspect);
@@ -1642,9 +1646,14 @@ package body Sem_Specs is
Found := Found + 1;
end if;
Set_Whole_Association_Flag (Assoc, True);
+
+ -- Create the formal name. This is a forward reference as the
+ -- current design unit does not depend on the entity.
Name := Build_Simple_Name (Ent_El, Parent);
+ Set_Is_Forward_Ref (Name, True);
Set_Type (Name, Get_Type (Ent_El));
Set_Formal (Assoc, Name);
+
if Kind = Map_Port
and then not Error
and then Comp_El /= Null_Iir