Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gnat.dg/specs/discr2.ads @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
-- { dg-do compile } -- { dg-options "-gnatws" } package Discr2 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 Discr2;