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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gnat.dg/] [specs/] [discr_private.ads] - Rev 749

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

-- { dg-do compile }
-- { dg-options "-gnatws" }
 
package Discr_Private is
 
   package Dec is
      type T_DECIMAL (Prec : Integer := 1) is private;
   private
      type T_DECIMAL (Prec : Integer := 1) is record
         case Prec is
            when  1 .. 2 => Value : Integer;
            when others => null;
         end case;
      end record;
   end;
 
   type Value_T is record
      Bits  : Dec.T_DECIMAL(1);
   end record;
   for Value_T'size use 88;
 
   type Value_Entry_T is record
      Index : Integer;
      Value : Value_T;
   end record;
 
   type Value_Mode is (QI, HI, SI, DI, XI);
   for Value_Mode'size use 8;
 
   type Valid_Modes_T is array (Value_Mode) of Boolean;
 
   type Register_T is record
      Ventry : Value_Entry_T;
      Vmodes : Valid_Modes_T;
   end record;
 
   type Regid_T is (Latch, Acc);
   for Regid_T use (Latch => 0, Acc => 2);
   for Regid_T'Size use 8;
 
   type Regarray_T is array (Regid_T) of Register_T;
 
   type Machine_T (Up : Boolean := True) is record
      case Up is
         when True  => Regs : Regarray_T;
         when False => null;
       end case;
   end record;
 
end Discr_Private;
 

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.