| -- { dg-do compile } |
| -- { dg-options "-O2 -gnata -gnatVa" } |
| |
| with Opt5_Pkg; |
| |
| package Opt5 is |
| |
| type Object is new Opt5_Pkg.Object with private; |
| |
| Undefined : constant Object; |
| |
| overriding function Is_Defined (Self : Object) return Boolean; |
| |
| function Create (Sloc : Opt5_Pkg.Object) return Integer is (0) |
| with Pre => Sloc.Is_Defined; |
| |
| private |
| |
| type Object is new Opt5_Pkg.Object with null record; |
| |
| Undefined : constant Object := (Opt5_Pkg.Undefined with others => <>); |
| |
| overriding function Is_Defined (Self : Object) return Boolean is (Self /= Undefined); |
| |
| end Opt5; |