aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans-chap2.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/translate/trans-chap2.adb')
-rw-r--r--src/vhdl/translate/trans-chap2.adb10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/vhdl/translate/trans-chap2.adb b/src/vhdl/translate/trans-chap2.adb
index 27e556609..2aac3e4f3 100644
--- a/src/vhdl/translate/trans-chap2.adb
+++ b/src/vhdl/translate/trans-chap2.adb
@@ -1011,6 +1011,10 @@ package body Trans.Chap2 is
Final : Boolean;
Constr : O_Assoc_List;
begin
+ if not Flag_Elaboration and not Is_Nested then
+ return;
+ end if;
+
if not Is_Nested then
Start_Subprogram_Body (Info.Package_Elab_Spec_Subprg);
Push_Local_Factory;
@@ -1044,7 +1048,7 @@ package body Trans.Chap2 is
Chap4.Elab_Declaration_Chain (Spec, Final);
pragma Unreferenced (Final);
- if not Is_Nested then
+ if not Is_Nested and then Flag_Elaboration then
Close_Temp;
Subprgs.Finish_Subprg_Instance_Use (Info.Package_Elab_Spec_Instance);
@@ -1067,6 +1071,10 @@ package body Trans.Chap2 is
return;
end if;
+ if not Flag_Elaboration and not Is_Nested_Package (Spec) then
+ return;
+ end if;
+
if Is_Spec_Decl and then Is_Uninstantiated_Package (Spec) then
Set_Scope_Via_Field (Info.Package_Spec_Scope,
Info.Package_Spec_Field,