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/] [pack10.adb] - Diff between revs 304 and 338

Only display areas with differences | Details | Blame | View Log

Rev 304 Rev 338
-- { dg-do run }
-- { dg-do run }
 
 
procedure Pack10 is
procedure Pack10 is
 
 
  type U16 is mod 2**16;
  type U16 is mod 2**16;
  type U8 is mod 2**8;
  type U8 is mod 2**8;
 
 
  type R is record
  type R is record
    A : U16;
    A : U16;
    B : U8;
    B : U8;
  end record;
  end record;
 
 
  type M is array (1..2) of R;
  type M is array (1..2) of R;
  pragma Pack (M);
  pragma Pack (M);
  -- This size clause can actually be omitted
  -- This size clause can actually be omitted
  for M'Size use 48;
  for M'Size use 48;
 
 
  type R2 is record
  type R2 is record
    C : M;
    C : M;
    D : U8;
    D : U8;
  end record;
  end record;
  for R2 use record
  for R2 use record
    C at 0 range 0 .. 24*2-1;
    C at 0 range 0 .. 24*2-1;
  end record;
  end record;
 
 
  My_R2 : R2;
  My_R2 : R2;
 
 
begin
begin
  My_R2.D := 1;
  My_R2.D := 1;
  My_R2.C(2).B := 0;
  My_R2.C(2).B := 0;
  if My_R2.D /=1 then
  if My_R2.D /=1 then
    raise Program_Error;
    raise Program_Error;
  end if;
  end if;
end;
end;
 
 

powered by: WebSVN 2.1.0

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