view gcc/testsuite/gnat.dg/default_variants.adb @ 140:4e440907fcbf

copy CbC goto flang in cfgexpand remove some CbC unnecessary code
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 14 Nov 2018 00:24:45 +0900
parents 04ced10e8804
children
line wrap: on
line source

--  { dg-do compile }

procedure Default_Variants is

   type Variant_Kind is (A, B);

   function Get_Default_Value (Kind : in Variant_Kind) return Natural is (10);

   type Variant_Type (Kind : Variant_Kind := A) is
      record
         Common : Natural := Get_Default_Value (Kind);
         case Kind is
            when A =>
               A_Value : Integer := Integer'First;
            when B =>
               B_Value : Natural := Natural'First;
         end case;
      end record;

   type Containing_Type is tagged
      record
         Variant_Data : Variant_Type :=
               (Kind => B, Common => <>, B_Value => 1);
      end record;

begin
    null;
end Default_Variants;