diff options
Diffstat (limited to 'gcc/ada/a-swunau.adb')
-rw-r--r-- | gcc/ada/a-swunau.adb | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/gcc/ada/a-swunau.adb b/gcc/ada/a-swunau.adb index 59eb3f6cf22..004a5d4ac1a 100644 --- a/gcc/ada/a-swunau.adb +++ b/gcc/ada/a-swunau.adb @@ -37,11 +37,14 @@ package body Ada.Strings.Wide_Unbounded.Aux is procedure Get_Wide_String (U : Unbounded_Wide_String; - S : out Wide_String_Access; + S : out Big_Wide_String_Access; L : out Natural) is + X : aliased Big_Wide_String; + for X'Address use U.Reference.all'Address; + begin - S := U.Reference; + S := X'Unchecked_Access; L := U.Last; end Get_Wide_String; @@ -51,20 +54,6 @@ package body Ada.Strings.Wide_Unbounded.Aux is procedure Set_Wide_String (UP : in out Unbounded_Wide_String; - S : Wide_String) - is - begin - if S'Length > UP.Last then - Finalize (UP); - UP.Reference := new Wide_String (1 .. S'Length); - end if; - - UP.Reference (1 .. S'Length) := S; - UP.Last := S'Length; - end Set_Wide_String; - - procedure Set_Wide_String - (UP : in out Unbounded_Wide_String; S : Wide_String_Access) is begin |