OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [gnat.dg/] [self_aggregate_with_call.adb] - Diff between revs 304 and 338

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

Rev 304 Rev 338
-- { dg-do run }
-- { dg-do run }
-- { dg-options "-O2" }
-- { dg-options "-O2" }
 
 
procedure self_aggregate_with_call is
procedure self_aggregate_with_call is
 
 
   type Values is array (1 .. 8) of Natural;
   type Values is array (1 .. 8) of Natural;
 
 
   type Vector is record
   type Vector is record
      Components : Values;
      Components : Values;
   end record;
   end record;
 
 
   function Clone (Components: Values) return Values is
   function Clone (Components: Values) return Values is
   begin
   begin
      return Components;
      return Components;
   end;
   end;
 
 
   procedure Process (V : in out Vector) is
   procedure Process (V : in out Vector) is
   begin
   begin
      V.Components (Values'First) := 1;
      V.Components (Values'First) := 1;
      V := (Components => Clone (V.Components));
      V := (Components => Clone (V.Components));
 
 
      if V.Components (Values'First) /= 1 then
      if V.Components (Values'First) /= 1 then
         raise Program_Error;
         raise Program_Error;
      end if;
      end if;
   end;
   end;
 
 
   V : Vector;
   V : Vector;
begin
begin
   Process (V);
   Process (V);
end;
end;
 
 

powered by: WebSVN 2.1.0

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