-- { dg-do run } | |
-- { dg-options "-gnatws" } | |
procedure Derived_Type2 is | |
package Pkg is | |
type Parent (B : Boolean := True) is record | |
case B is | |
when True => S : String (1 .. 5); | |
when False => F : Float; | |
end case; | |
end record; | |
function Create (X : Parent) return Parent; | |
end Pkg; | |
package body Pkg is | |
function Create (X : Parent) return Parent is | |
begin | |
return (True, "12345"); | |
end; | |
end Pkg; | |
use Pkg; | |
type T is new Parent (True); | |
X : T; | |
begin | |
if Create (X).B /= True then | |
raise Program_Error; | |
end if; | |
end; |