summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/webtbs/tw0891.pp
blob: 081b36185b1e3239353595b04ef91ae6edd2b91d (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
{ this declaration: ;}
{$ifdef FPC}
  {$mode TP}
{$endif}
 var
   name_a : packed array[0..255] of char;

const
   name_b : PChar = 't';

begin
   { the FPC compiler (0.99.14a) will refuse to compile
    the line ; }
    name_a[0]:='x';
    name_a[1]:=#0;
    if (name_b <> name_a) then
      begin
        writeln(' a and b are different');
      end
    else
      writeln('address of name_a and name_b are equal');
    { while it works under Turbo Pascal (TP). ;}
    name_b:=@name_a;
    if name_a<>name_b then
      begin
        Writeln('Wrong result');
        Halt(1);
      end;
{$ifdef FPC}
     if (name_b <> PChar(name_a)) then
      writeln(' a and b are different');
    { is a legal FPC line, but illegal in TP.}
{$endif}
    { I used ; }
    if (name_b <> PChar(@name_a)) then
      writeln(' a and b are different');
    {because it seems to work for both compiler.}

end.