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