summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/webtbs/tw15727a.pp
blob: 57464bd8e47ff3d0eafcf1a2964022b29af9a622 (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
{$mode delphi}
{$r+}

uses
  SysUtils;

procedure test(a: array of const);
begin
  if (a[0].vtype<>vtinteger) or
     (a[0].vinteger<>longint($f0f0f0f0)) then
    halt(1);
end;

var
  z: cardinal;
begin
  Z:=$F0F0F0F0;
  // next line works OK
  writeln('Z=',Z);

  // next line produces compilation error "Error: range check error while evaluating constants"
  test([$F0F0F0F0]);

  // next line gives run-time error: "ERangeError : Range check error"
  test([Z]);
end.