summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/tbs/tb0247.pp
blob: 6b696e151575aa89ea44f08595b05e022b5b2182 (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
28
29
30
31
32
33
34
35
36
37
38
39
{ Old file: tbs0288.pp }
{ crash with virtual method in except part             OK 0.99.13 (PFV) }

{$mode objfpc}

uses sysutils;
const
  test_run : boolean = false;

type
  zz=class(tobject)
    procedure test;virtual;
    procedure test1;virtual;
  end;
procedure zz.test;
begin
  writeln('ok');
  test_run:=true;
end;
procedure zz.test1;
begin
  try
    raise exception.create('zz');
  except
    on e:exception do test;
  end;
end;
var
  z:zz;
begin
  z:=zz.create;
  z.test1;
  z.destroy;
  if not test_run then
    begin
      Writeln('Problem with virtual method in except block');
      Halt(1);
    end;
end.