[Ada] Fix internal error on subprogram instantiation with -gnatzc
authorEric Botcazou <ebotcazou@adacore.com>
Mon, 19 Aug 2019 08:36:07 +0000 (08:36 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Mon, 19 Aug 2019 08:36:07 +0000 (08:36 +0000)
commit27b2fbc95cea0512e71a4cd3090e68ae2bf4fe1d
tree77ca99a7ab530701448747d6dd1fc47b26f99603
parentd41f5c1facb17bd231fe4dbc122d105585281487
[Ada] Fix internal error on subprogram instantiation with -gnatzc

This fixes a fallout of the recent change keeping the
Is_Generic_Instance flag on the wrapper package built for the
instantiation of a generic subprogram.

There is no need to visit the Instance_Spec of an
N_Subprogram_Instantiation node anymore because the regular processing
for an N_Package_Declaration node now does the job for instantiations of
generic subprograms.

The following subprogram must compile again quietly with -gnatzc:

with Gen_Proc;

package RCI is
   pragma Remote_Call_Interface;

   procedure Inst_Proc is new Gen_Proc;

   procedure P (S : String);
end RCI;

generic
procedure Gen_Proc (S : String);
pragma Remote_Call_Interface (Gen_Proc);

with Ada.Text_IO; use Ada.Text_IO;
procedure Gen_Proc (S : String) is
begin
   Put_Line ("Gen_Proc called: " & S);
end Gen_Proc;

2019-08-19  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

* exp_dist.adb (Build_Package_Stubs): Do not specifically visit
the declarations of an N_Subprogram_Instantiation node.

From-SVN: r274647
gcc/ada/ChangeLog
gcc/ada/exp_dist.adb