1-- { dg-do compile } 2-- { dg-options "-gnatws -fdump-tree-original" } 3 4procedure Derived_Type1 is 5 6 type Root is tagged null record; 7 8 type Derived1 is new Root with record 9 I1 : Integer; 10 end record; 11 12 type Derived2 is new Derived1 with record 13 I2: Integer; 14 end record; 15 16 R : Root; 17 D1 : Derived1; 18 D2 : Derived2; 19 20begin 21 R := Root(D1); 22 R := Root(D2); 23 D1 := Derived1(D2); 24end; 25 26-- { dg-final { scan-tree-dump-not "VIEW_CONVERT_EXPR<struct derived_type1__root>" "original" } } 27-- { dg-final { scan-tree-dump-not "VIEW_CONVERT_EXPR<struct derived_type1__derived1>" "original" } } 28