setjumph.inc 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. {
  2. $Id$
  3. This file is part of the Free Pascal run time library.
  4. Copyright (c) 2000-2002 by Jonas Maebe and other members of the
  5. Free Pascal development team
  6. SetJmp/Longjmp declarations
  7. See the file COPYING.FPC, included in this distribution,
  8. for details about the copyright.
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  12. **********************************************************************}
  13. type
  14. jmp_buf = packed record
  15. r1,r2,lr,r14,r15,r16,r17,r18,r19,r20,r21,r22,r23,r24,r25,r26,r27,r28,r29,r30,r31,cr : dword;
  16. f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28,f29,f30,f31 : double;
  17. end;
  18. pjmp_buf = ^jmp_buf;
  19. function setjmp(var S : jmp_buf) : longint;
  20. procedure longjmp(var S : jmp_buf;value : longint);
  21. {
  22. $Log$
  23. Revision 1.6 2003-04-26 18:54:30 florian
  24. + implemented setjmp record and longjmp
  25. Revision 1.5 2002/09/15 10:03:04 carl
  26. * make the record packed (just in case)
  27. Revision 1.4 2002/08/10 17:14:36 jonas
  28. * various fixes, mostly changing the names of the modifies registers to
  29. upper case since that seems to be required by the compiler
  30. Revision 1.3 2002/07/26 22:46:17 florian
  31. * interface of system unit for Linux/PowerPC compiles
  32. Revision 1.2 2002/07/26 22:08:38 florian
  33. * comments fixed
  34. Revision 1.1 2002/07/26 22:08:13 florian
  35. + initial dummy implementation
  36. }