This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] Fix compatiblity between ada 95 and ada 05 streams


Tested on i686-linux, committed on trunk

The following program must be compiled under Ada05 mode and
its execution must report no error.
--
with Ada.Streams; use Ada.Streams;
package Pkg is
   type T is tagged null record;
--
   procedure Stream_Output
     (Stream : access Root_Stream_Type'Class;
      Obj    : T);
   for T'Output use Stream_Output;
end Pkg;
--
package body Pkg is
   procedure Stream_Output
     (Stream : access Root_Stream_Type'Class;
      Obj    : T) is
     pragma Unreferenced (Obj);
   begin
      Integer'Output (Stream, 999);
   end Stream_Output;
end Pkg;
--
with Pkg; use Pkg;
with Ada.Streams.Stream_IO; use Ada.Streams.Stream_IO;
with Ada.Text_IO;           use Ada.Text_IO;
procedure Do_Test is
   Stream : constant Stream_Access := null;
   Object : Pkg.T;
begin
   Stream_Output (Stream, Object);
   Put_Line ("failure (1)");
exception
   when Constraint_Error =>
      null; --  Test passed
   when others =>
      Put_Line ("failure (2)");
end Do_Test;

2005-11-14  Javier Miranda  <miranda@adacore.com>

	* s-finroo.ads, s-finroo.adb (Read): Addition of "not null" to the
	anonymous access.
	(Write): Addition of "not null" to the anonymous access.
	(Read): Addition of "not null" to the anonymous access.
	(Write): Addition of "not null" to the anonymous access.

	* s-strxdr.adb, s-stratt.ads, s-stratt.adb (I_AD, I_AS, I_B, I_C, I_F,
	I_I, I_LF, I_LI, I_LLF, I_LLI, I_LLU, I_LU, I_SF, I_SI, I_SSI, I_SSU,
	I_SU, I_U, I_WC): Addition of "not null" to the anonymous access.
	(W_AD, W_AS, W_B, W_C, W_F, W_I, W_LF, W_LI, W_LLF, W_LLI, W_LLU,
	W_LU, W_SF, W_SI, W_SSI, W_SSU, W_SU, W_U, W_WC): Addition of
	"not null" to the anonymous access.

Attachment: difs.62
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]