Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gnat.dg/discr17.adb @ 138:fc828634a951
merge
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 08 Nov 2018 14:17:14 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
-- { dg-do compile } -- { dg-options "-gnatws" } procedure Discr17 is F1_Poe : Integer := 18; function F1 return Integer is begin F1_Poe := F1_Poe - 1; return F1_Poe; end F1; generic type T is limited private; with function Is_Ok (X : T) return Boolean; procedure Check; procedure Check is begin declare type Poe is new T; X : Poe; Y : Poe; begin null; end; declare type Poe is new T; type Arr is array (1 .. 2) of Poe; X : Arr; B : Boolean := Is_Ok (T (X (1))); begin null; end; end; protected type Poe (D3 : Integer := F1) is entry E (D3 .. F1); -- F1 evaluated function Is_Ok return Boolean; end Poe; protected body Poe is entry E (for I in D3 .. F1) when True is begin null; end E; function Is_Ok return Boolean is begin return False; end Is_Ok; end Poe; function Is_Ok (C : Poe) return Boolean is begin return C.Is_Ok; end Is_Ok; procedure Chk is new Check (Poe, Is_Ok); begin Chk; end;