1--  { dg-do run }
2--  { dg-options "-O0 -gnatVa" }
3
4procedure Range_Check6 is
5
6  type Byte is range -2**7 .. 2**7-1;
7  for Byte'Size use 8;
8
9  subtype Hour is Byte range 0 .. 23;
10
11  type Rec is record
12    B : Byte;
13  end record;
14
15  procedure Encode (H : in out Hour) is
16  begin
17    null;
18  end;
19
20  R : Rec;
21
22begin
23  R.B := 24;
24  Encode (R.B);
25  raise Program_Error;
26exception
27  when Constraint_Error => null;
28end;
29