aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gnat.dg/sizetype2.adb
blob: 4593936c8261c411c61b7e06e5699a11a0960eaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
-- { dg-do run }

procedure Sizetype2 is

  function Ident_Int (X : Integer) return Integer is
  begin
     return X;
  end;

  type A is array (Integer range <>) of Boolean;
  subtype T1 is A (Ident_Int (- 6) .. Ident_Int (Integer'Last - 4));
  subtype T2 is A (- 6 .. Ident_Int (Integer'Last - 4));
  subtype T3 is A (Ident_Int (- 6) .. Integer'Last - 4);

begin
  if T1'Size /= 17179869200 then
    raise Program_Error;
  end if;

  if T2'Size /= 17179869200 then
    raise Program_Error;
  end if;

  if T3'Size /= 17179869200 then
    raise Program_Error;
  end if;
end;