Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gnat.dg/limited4.adb @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | 1830386684a0 |
children |
line wrap: on
line source
-- { dg-do compile } procedure Limited4 is TBD_Error : exception; type Lim_Rec is limited record A : Integer; B : Boolean; end record; type Lim_Tagged is tagged limited record R : Lim_Rec; N : Natural; end record; type Lim_Ext is new Lim_Tagged with record G : Natural; end record; -- a) initialization expression of a CW object_declaration Obj1 : Lim_Tagged'Class := (raise TBD_Error); Obj2 : Lim_Tagged'Class := Lim_Tagged'Class'(raise TBD_Error); -- b) initialization expression of a CW component_declaration type Rec is record Comp01 : Lim_Tagged'Class := (raise TBD_Error); Comp02 : Lim_Tagged'Class := Lim_Tagged'Class'((raise TBD_Error)); end record; -- c) the expression of a record_component_association Obj : Lim_Tagged := (R => raise TBD_Error, N => 4); -- d) the expression for an ancestor_part of an extension_aggregate Ext1 : Lim_Ext := ((raise TBD_Error) with G => 0); Ext2 : Lim_Ext := (Lim_Tagged'(raise TBD_Error) with G => 0); -- e) default_expression or actual parameter for a formal object of -- mode in function Do_Test1 (Obj : Lim_Tagged) return Boolean is begin return True; end; function Do_Test2 (Obj : Lim_Tagged := (raise TBD_Error)) return Boolean is begin return True; end; Check : Boolean; begin Check := Do_Test1 (raise TBD_Error); Check := Do_Test2; end;