diff -Nrc3pad gcc-3.4.3/gcc/ada/ChangeLog gcc-3.4.4/gcc/ada/ChangeLog *** gcc-3.4.3/gcc/ada/ChangeLog Fri Nov 5 03:33:30 2004 --- gcc-3.4.4/gcc/ada/ChangeLog Thu May 19 07:46:51 2005 *************** *** 1,3 **** --- 1,13 ---- + 2005-05-19 Release Manager + + * GCC 3.4.4 released. + + 2005-01-18 Jakub Jelinek + + PR ada/13470 + * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is + set to the new string. + 2004-11-04 Release Manager * GCC 3.4.3 released. diff -Nrc3pad gcc-3.4.3/gcc/ada/a-stunau.adb gcc-3.4.4/gcc/ada/a-stunau.adb *** gcc-3.4.3/gcc/ada/a-stunau.adb Tue Oct 21 13:41:54 2003 --- gcc-3.4.4/gcc/ada/a-stunau.adb Tue Jan 18 22:05:06 2005 *************** package body Ada.Strings.Unbounded.Aux i *** 48,63 **** U_Ptr : constant Unbounded_String_Access := U'Unrestricted_Access; -- Unbounded_String is a controlled type which is always passed ! -- by copy it is always safe to take the pointer to such object ! -- here. This pointer is used to set the U.Reference value which ! -- would not be possible otherwise as U is read-only. Old : String_Access := U.Reference; begin ! U_Ptr.Reference := new String'(U.Reference (1 .. U.Last)); Free (Old); ! return U.Reference; end; end if; end Get_String; --- 48,65 ---- U_Ptr : constant Unbounded_String_Access := U'Unrestricted_Access; -- Unbounded_String is a controlled type which is always passed ! -- by reference. It is always safe to take the pointer to such ! -- object here. This pointer is used to set the U.Reference ! -- value which would not be possible otherwise as U is read-only. Old : String_Access := U.Reference; + Ret : String_Access; begin ! Ret := new String'(U.Reference (1 .. U.Last)); ! U_Ptr.Reference := Ret; Free (Old); ! return Ret; end; end if; end Get_String;