-- { dg-do compile } -- { dg-options "-O" } with Discr4_Pkg; use Discr4_Pkg; package Discr4 is type Data is record Val : Rec; Set : Boolean; end record; type Pair is record Lower, Upper : Data; end record; function Build (L, U : Rec) return Pair is ((L, True), (U, False)); C1 : constant Pair := Build (Rec_One, Rec_Three); C2 : constant Pair := Build (Get (0), Rec_Three); end Discr4;