Procedures Initialize and Adjust in the Ada.[Wide_[Wide_]]Strings.Unbounded
package are now inlined for nondispatching calls. No test available (efficiency
issue only).

Tested on x86_64-pc-linux-gnu, committed on trunk

2018-05-25  Bob Duff  <d...@adacore.com>

gcc/ada/

        * libgnat/a-strunb__shared.ads, libgnat/a-stwiun__shared.ads,
        libgnat/a-stzunb__shared.ads: (Initialize, Adjust): Add pragma Inline.
--- gcc/ada/libgnat/a-strunb__shared.ads
+++ gcc/ada/libgnat/a-strunb__shared.ads
@@ -482,6 +482,7 @@ private
    overriding procedure Initialize (Object : in out Unbounded_String);
    overriding procedure Adjust     (Object : in out Unbounded_String);
    overriding procedure Finalize   (Object : in out Unbounded_String);
+   pragma Inline (Initialize, Adjust);
 
    Null_Unbounded_String : constant Unbounded_String :=
                              (AF.Controlled with

--- gcc/ada/libgnat/a-stwiun__shared.ads
+++ gcc/ada/libgnat/a-stwiun__shared.ads
@@ -485,6 +485,7 @@ private
    overriding procedure Initialize (Object : in out Unbounded_Wide_String);
    overriding procedure Adjust     (Object : in out Unbounded_Wide_String);
    overriding procedure Finalize   (Object : in out Unbounded_Wide_String);
+   pragma Inline (Initialize, Adjust);
 
    Null_Unbounded_Wide_String : constant Unbounded_Wide_String :=
                                   (AF.Controlled with

--- gcc/ada/libgnat/a-stzunb__shared.ads
+++ gcc/ada/libgnat/a-stzunb__shared.ads
@@ -503,6 +503,7 @@ private
      (Object : in out Unbounded_Wide_Wide_String);
    overriding procedure Finalize
      (Object : in out Unbounded_Wide_Wide_String);
+   pragma Inline (Initialize, Adjust);
 
    Null_Unbounded_Wide_Wide_String : constant Unbounded_Wide_Wide_String :=
                                        (AF.Controlled with

Reply via email to