~ubuntu-branches/debian/lenny/fpc/lenny

« back to all changes in this revision

Viewing changes to fpcsrc/tests/tbs/tb0252.pp

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-05-17 17:12:11 UTC
  • mfrom: (3.1.9 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080517171211-9qi33xhd9evfa0kg
Tags: 2.2.0-dfsg1-9
[ Torsten Werner ]
* Add Mazen Neifer to Uploaders field.

[ Mazen Neifer ]
* Moved FPC sources into a version dependent directory from /usr/share/fpcsrc
  to /usr/share/fpcsrc/${FPCVERSION}. This allow installing more than on FPC
  release.
* Fixed far call issue in compiler preventing building huge binearies.
  (closes: #477743)
* Updated building dependencies, recomennded and suggested packages.
* Moved fppkg to fp-utils as it is just a helper tool and is not required by
  compiler.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
{ Old file: tbs0292.pp }
 
2
{ objects not finalized when disposed                  OK 0.99.13 (FK) }
 
3
 
 
4
{$mode objfpc}
 
5
 
 
6
type
 
7
  pobj = ^tobj;
 
8
  tobj = object
 
9
    a: ansistring;
 
10
    constructor init(s: ansistring);
 
11
    destructor done;
 
12
  end;
 
13
 
 
14
  PAnsiRec = ^TAnsiRec;
 
15
  TAnsiRec = Packed Record
 
16
    Maxlen,
 
17
    len,
 
18
    ref   : Longint;
 
19
    First : Char;
 
20
  end;
 
21
 
 
22
const firstoff = sizeof(tansirec)-1;
 
23
 
 
24
var o: pobj;
 
25
    t: ansistring;
 
26
 
 
27
constructor tobj.init(s: ansistring);
 
28
begin
 
29
  a := s;
 
30
end;
 
31
 
 
32
destructor tobj.done;
 
33
begin
 
34
end;
 
35
 
 
36
const
 
37
  s : string = ' with suffix';
 
38
var
 
39
  refbefore : longint;
 
40
begin
 
41
  t:='test'+s;
 
42
  refbefore:=pansirec(pointer(t)-firstoff)^.ref;
 
43
  writeln('refcount before init: ',pansirec(pointer(t)-firstoff)^.ref);
 
44
  new(o,init(t));
 
45
  writeln('refcount after init: ',pansirec(pointer(t)-firstoff)^.ref);
 
46
  dispose(o,done);
 
47
  writeln('refcount after done: ',pansirec(pointer(t)-firstoff)^.ref);
 
48
  if refbefore<>pansirec(pointer(t)-firstoff)^.ref then
 
49
    Halt(1);
 
50
end.