mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-29 02:53:41 +02:00

- Fix setjmp/longjmp handling on 3 byte PC AVRs.
git-svn-id: trunk@42162 -
(cherry picked from commit dee0197890
)
30 lines
920 B
PHP
30 lines
920 B
PHP
{
|
|
|
|
This file is part of the Free Pascal run time library.
|
|
Copyright (c) 2008 by 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
|
|
r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15,r16,r17,r28,r29,splo,sphi,pclo,pchi : byte;
|
|
{$ifdef CPUAVR_3_BYTE_PC}
|
|
pchighest : byte
|
|
{$endif CPUAVR_3_BYTE_PC}
|
|
end;
|
|
pjmp_buf = ^jmp_buf;
|
|
|
|
function setjmp(var S : jmp_buf) : shortint;[external name 'FPC_SETJMP'];
|
|
procedure longjmp(var S : jmp_buf;value : shortint);[external name 'FPC_LONGJMP'];
|
|
|
|
|