|
@@ -0,0 +1,34 @@
|
|
|
+{ %cpu=i386,x86_64 }
|
|
|
+
|
|
|
+{ Source provided for Free Pascal Bug Report 3460 }
|
|
|
+{ Submitted by "Danny Milosavljevic" on 2004-12-22 }
|
|
|
+{ e-mail: [email protected] }
|
|
|
+
|
|
|
+{$ifdef fpc}{$mode delphi}{$endif}
|
|
|
+
|
|
|
+type
|
|
|
+ TGValue=array[0..10] of byte;
|
|
|
+ PGValue=^TGValue;
|
|
|
+
|
|
|
+function x: Integer;
|
|
|
+asm
|
|
|
+ mov edx,0
|
|
|
+ add edx, sizeof(Integer)
|
|
|
+ mov Result, edx
|
|
|
+end;
|
|
|
+
|
|
|
+function SignalHandlerNextParam(param: PGValue): PGValue;
|
|
|
+asm
|
|
|
+ mov edx, param
|
|
|
+ add edx, 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.
|