aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/inline.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/inline.adb')
-rw-r--r--gcc/ada/inline.adb7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ada/inline.adb b/gcc/ada/inline.adb
index c508ef4..0d184dd 100644
--- a/gcc/ada/inline.adb
+++ b/gcc/ada/inline.adb
@@ -344,12 +344,17 @@ package body Inline is
elsif not Is_Inlined (Pack)
and then
(not Has_Completion (E)
- or else Is_Init_Proc (E)
or else Is_Expression_Function (E))
then
Set_Is_Inlined (Pack);
Inlined_Bodies.Increment_Last;
Inlined_Bodies.Table (Inlined_Bodies.Last) := Pack;
+
+ -- an initialization procedure should be inlined, but it does
+ -- not require the body of the package.
+
+ elsif Is_Init_Proc (E) then
+ Set_Is_Inlined (Pack);
end if;
end if;
end;