Pārlūkot izejas kodu

+ setjmp and longjmp

mazen 23 gadi atpakaļ
vecāks
revīzija
3ae9d42f65
2 mainītis faili ar 64 papildinājumiem un 4 dzēšanām
  1. 33 2
      rtl/sparc/setjump.inc
  2. 31 2
      rtl/sparc/setjumph.inc

+ 33 - 2
rtl/sparc/setjump.inc

@@ -1,5 +1,36 @@
+{
+    $Id$
+    This file is part of the Free Pascal run time library.
+    Copyright (c) 2002 by Jonas Maebe and other members of the
+    Free Pascal development team
+
+    SetJmp and LongJmp implementation for exception handling
+
+    See the file COPYING.FPC, included in this distribution,
+    for details about the copyright.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ **********************************************************************}
+
+{ the necessary code can be copied from the linux kernel sources }
+function setjmp(var S : jmp_buf) : longint;assembler;[Public, alias : 'FPC_SETJMP'];
+  asm
+    {$warning FIXME!!!!}
+  end;
+
+procedure longjmp(var S : jmp_buf;value : longint);assembler;[Public, alias : 'FPC_LONGJMP'];
+  asm
+    {$warning FIXME!!!!}
+  end;
+
 {
   $Log$
-  Revision 1.1  2002-11-16 20:10:31  florian
+  Revision 1.2  2002-11-24 18:19:44  mazen
+  + setjmp and longjmp
+
+  Revision 1.1  2002/11/16 20:10:31  florian
     + sparc specific rtl skeleton added
-}
+}

+ 31 - 2
rtl/sparc/setjumph.inc

@@ -1,5 +1,34 @@
+{
+    $Id$
+    This file is part of the Free Pascal run time library.
+    Copyright (c) 2000-2002 by Jonas Maebe and other members of the
+    Free Pascal development team
+
+    SetJmp/Longjmp declarations
+
+    See the file COPYING.FPC, included in this distribution,
+    for details about the copyright.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ **********************************************************************}
+
+type
+  jmp_buf = packed record
+    {$warning FIXME!!!!}
+  end;
+  pjmp_buf = ^jmp_buf;
+
+function setjmp(var S : jmp_buf) : longint;
+procedure longjmp(var S : jmp_buf;value : longint);
+
 {
   $Log$
-  Revision 1.1  2002-11-16 20:10:31  florian
+  Revision 1.2  2002-11-24 18:19:44  mazen
+  + setjmp and longjmp
+
+  Revision 1.1  2002/11/16 20:10:31  florian
     + sparc specific rtl skeleton added
-}
+}