1with Ada.Text_IO; use Ada.Text_IO;
2
3package body Elab5_Pkg is
4
5   --------------------------------------------------
6   -- Call to call, instantiation, task activation --
7   --------------------------------------------------
8
9   procedure Suppressed_Call_1 is
10      package Inst is new ABE_Gen;
11      T : ABE_Task;
12   begin
13      ABE_Call;
14   end Suppressed_Call_1;
15
16   function Elaborator_1 return Boolean is
17   begin
18      pragma Warnings ("L");
19      Suppressed_Call_1;
20      pragma Warnings ("l");
21      return True;
22   end Elaborator_1;
23
24   Elab_1 : constant Boolean := Elaborator_1;
25
26   procedure Suppressed_Call_2 is
27      package Inst is new ABE_Gen;
28      T : ABE_Task;
29   begin
30      ABE_Call;
31   end Suppressed_Call_2;
32
33   function Elaborator_2 return Boolean is
34   begin
35      Suppressed_Call_2;
36      return True;
37   end Elaborator_2;
38
39   Elab_2 : constant Boolean := Elaborator_2;
40
41   procedure Suppressed_Call_3 is
42      package Inst is new ABE_Gen;
43      T : ABE_Task;
44   begin
45      ABE_Call;
46   end Suppressed_Call_3;
47
48   function Elaborator_3 return Boolean is
49   begin
50      Suppressed_Call_3;
51      return True;
52   end Elaborator_3;
53
54   Elab_3 : constant Boolean := Elaborator_3;
55
56   -----------------------------------------------------------
57   -- Instantiation to call, instantiation, task activation --
58   -----------------------------------------------------------
59
60   package body Suppressed_Generic is
61      procedure Force_Body is begin null; end Force_Body;
62      package Inst is new ABE_Gen;
63      T : ABE_Task;
64   begin
65      ABE_Call;
66   end Suppressed_Generic;
67
68   function Elaborator_4 return Boolean is
69      pragma Warnings ("L");
70      package Inst is new Suppressed_Generic;
71      pragma Warnings ("l");
72   begin
73      return True;
74   end Elaborator_4;
75
76   Elab_4 : constant Boolean := Elaborator_4;
77
78   -------------------------------------------------------------
79   -- Task activation to call, instantiation, task activation --
80   -------------------------------------------------------------
81
82   task body Suppressed_Task is
83      package Inst is new ABE_Gen;
84      T : ABE_Task;
85   begin
86      ABE_Call;
87   end Suppressed_Task;
88
89   function Elaborator_5 return Boolean is
90      pragma Warnings ("L");
91      T : Suppressed_Task;
92      pragma Warnings ("l");
93   begin
94      return True;
95   end Elaborator_5;
96
97   Elab_5 : constant Boolean := Elaborator_5;
98
99   function Elaborator_6 return Boolean is
100      T : Suppressed_Task;
101      pragma Warnings (Off, T);
102   begin
103      return True;
104   end Elaborator_6;
105
106   Elab_6 : constant Boolean := Elaborator_6;
107
108   procedure ABE_Call is
109   begin
110      Put_Line ("ABE_Call");
111   end ABE_Call;
112
113   package body ABE_Gen is
114      procedure Force_Body is begin null; end Force_Body;
115   begin
116      Put_Line ("ABE_Gen");
117   end ABE_Gen;
118
119   task body ABE_Task is
120   begin
121      Put_Line ("ABE_Task");
122   end ABE_Task;
123end Elab5_Pkg;
124