+2019-08-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch12.adb (Analyze_Instance_And_Renamings): Do not reset
+ the Is_Generic_Instance flag previously set on the package
+ generated for the instantiation of a generic subprogram.
+
2019-08-14 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb (Expand_N_Quantified_Expression): Freeze
Analyze (Pack_Decl);
Check_Formal_Packages (Pack_Id);
- Set_Is_Generic_Instance (Pack_Id, False);
-
- -- Why do we clear Is_Generic_Instance??? We set it 20 lines
- -- above???
-- Body of the enclosing package is supplied when instantiating the
-- subprogram body, after semantic analysis is completed.
+2019-08-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/generic_inst11.adb, gnat.dg/generic_inst11_pkg.adb,
+ gnat.dg/generic_inst11_pkg.ads: New testcase.
+
2019-08-14 Ed Schonberg <schonberg@adacore.com>
* gnat.dg/assert2.adb, gnat.dg/assert2.ads: New testcase.
--- /dev/null
+-- { dg-do compile }
+-- { dg-options "-O -gnatn" }
+
+with Generic_Inst11_Pkg;
+
+procedure Generic_Inst11 is
+begin
+ Generic_Inst11_Pkg.Proc;
+end;
--- /dev/null
+with System;
+
+package body Generic_Inst11_Pkg is
+
+ Data : Integer;
+
+ generic
+ Reg_Address : System.Address;
+ procedure Inner_G with Inline;
+
+ procedure Inner_G is
+ Reg : Integer with Address => Reg_Address;
+ begin
+ null;
+ end;
+
+ procedure My_Inner_G is new Inner_G (Data'Address);
+
+ procedure Proc renames My_Inner_G;
+
+end Generic_Inst11_Pkg;
--- /dev/null
+package Generic_Inst11_Pkg is
+
+ procedure Proc with Inline;
+
+end Generic_Inst11_Pkg;