aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans-chap2.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2016-06-30 06:14:11 +0200
committerTristan Gingold <tgingold@free.fr>2016-07-03 14:16:16 +0200
commit787d1d010ba53f2572aa11a78407e846ee4061dc (patch)
tree50ce71c99ba9187fde06b50173a2c487e8ef4afd /src/vhdl/translate/trans-chap2.adb
parent9ebac9a4cf1dce154a1fb7eecd75ccad189b3424 (diff)
downloadghdl-787d1d010ba53f2572aa11a78407e846ee4061dc.tar.gz
ghdl-787d1d010ba53f2572aa11a78407e846ee4061dc.tar.bz2
ghdl-787d1d010ba53f2572aa11a78407e846ee4061dc.zip
Initial support of direct recursive instantiation.
Fix issue #2.
Diffstat (limited to 'src/vhdl/translate/trans-chap2.adb')
-rw-r--r--src/vhdl/translate/trans-chap2.adb10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/vhdl/translate/trans-chap2.adb b/src/vhdl/translate/trans-chap2.adb
index 267f3d5ef..fe1ffc7e0 100644
--- a/src/vhdl/translate/trans-chap2.adb
+++ b/src/vhdl/translate/trans-chap2.adb
@@ -1296,23 +1296,23 @@ package body Trans.Chap2 is
Set_Scope_Via_Decl (Pkg_Info.Package_Body_Scope,
Get_Var_Label (Info.Package_Instance_Body_Var));
+
Set_Scope_Via_Field (Pkg_Info.Package_Spec_Scope,
Pkg_Info.Package_Spec_Field,
Pkg_Info.Package_Body_Scope'Access);
- Chap5.Elab_Generic_Map_Aspect (Inst);
+ Chap5.Elab_Generic_Map_Aspect (Inst, (Pkg_Info.Package_Body_Scope'Access,
+ Pkg_Info.Package_Body_Scope));
Clear_Scope (Pkg_Info.Package_Spec_Scope);
- Clear_Scope (Pkg_Info.Package_Body_Scope);
-- Call the elaborator of the generic. The generic must be
-- temporary associated with the instance variable.
Start_Association (Constr, Pkg_Info.Package_Elab_Body_Subprg);
- Set_Scope_Via_Decl (Pkg_Info.Package_Body_Scope,
- Get_Var_Label (Info.Package_Instance_Body_Var));
Add_Subprg_Instance_Assoc
(Constr, Pkg_Info.Package_Elab_Body_Instance);
- Clear_Scope (Pkg_Info.Package_Body_Scope);
New_Procedure_Call (Constr);
+ Clear_Scope (Pkg_Info.Package_Body_Scope);
+
-- Chap2.Finish_Subprg_Instance_Use
-- (Info.Package_Instance_Elab_Instance);
Finish_Subprogram_Body;