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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gnat.dg/] [in_out_parameter3.adb] - Rev 801

Go to most recent revision | Compare with Previous | Blame | View Log

-- { dg-do run }
-- { dg-options "-gnat12" }
 
procedure In_Out_Parameter3 is
 
  type Arr is array (1..16) of Integer;
 
  type Rec1 is record
    A : Arr;
    B : Boolean;
  end record;
 
  type Rec2 is record
    R : Rec1;
  end record;
  pragma Pack (Rec2);
 
  function F (I : In Out Rec1) return Boolean is
    A : Integer := I.A (1);
  begin
    I.A (1) := I.A (1) + 1;
    return (A > 0);
  end;
 
  I : Rec2 := (R => (A => (others => 0), B => True));
  B : Boolean;
 
begin
  B := F (I.R);
  if B then
    raise Program_Error;
  end if;
  if I.R.A (1) /= 1 then
    raise Program_Error;
  end if;
  if F (I.R) = False then
     raise Program_Error;
  end if;
  if I.R.A (1) /= 2 then
    raise Program_Error;
  end if;
end;
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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