summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/webtbs/tw3460.pp
blob: 5a7cb1e22db43c1d342d63723003544548df8c40 (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
{ %cpu=i386 }

{ Source provided for Free Pascal Bug Report 3460 }
{ Submitted by "Danny Milosavljevic" on  2004-12-22 }
{ e-mail: danny_milo@yahoo.com }

{$ifdef fpc}{$mode delphi}{$endif}

type
  TGValue=array[0..10] of byte;
  PGValue=^TGValue;

function x: Integer;
asm
  mov edx,0
  add edx, dword(sizeof(Integer))
  mov Result, edx
end;

function SignalHandlerNextParam(param: PGValue): PGValue;
asm
  mov edx, param
  add edx, dword(sizeof(TGValue))
  mov Result, edx
end;

var
  a : array[0..10] of TGValue;
begin
  SignalHandlerNextParam(@a[0]);
  writeln(x);
  if x<>sizeof(integer) then
    halt(1);
end.