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