OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [gnat.dg/] [mutable1.adb] - Diff between revs 304 and 384

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 304 Rev 384
-- { dg-do run }
-- { dg-do run }
 
 
procedure mutable1 is
procedure mutable1 is
 
 
   type Object (Valid : Boolean := False) is record
   type Object (Valid : Boolean := False) is record
      case Valid is
      case Valid is
         when True  => Stamp : Natural;
         when True  => Stamp : Natural;
         when False => null;
         when False => null;
      end case;
      end case;
   end record;
   end record;
 
 
   function Dummy_Object (Should_Be_There : Boolean) Return Object is
   function Dummy_Object (Should_Be_There : Boolean) Return Object is
   begin
   begin
      if not Should_Be_There then
      if not Should_Be_There then
         raise Program_Error;
         raise Program_Error;
      end if;
      end if;
      return Object'(Valid => False);
      return Object'(Valid => False);
   end;
   end;
 
 
   procedure Check (Create_Dummy : Boolean) is
   procedure Check (Create_Dummy : Boolean) is
      B : Boolean;
      B : Boolean;
   begin
   begin
      B := Create_Dummy and then Dummy_Object (Create_Dummy).Valid;
      B := Create_Dummy and then Dummy_Object (Create_Dummy).Valid;
   end;
   end;
 
 
begin
begin
   Check (Create_Dummy => False);
   Check (Create_Dummy => False);
   Check (Create_Dummy => True);
   Check (Create_Dummy => True);
end;
end;
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.