AVR: Add support for using nostackframe in interrupt routines.

git-svn-id: trunk@42519 -
This commit is contained in:
Jeppe Johansen 2019-07-28 16:46:13 +00:00
parent e141899299
commit f72342ed0e

View File

@ -2061,7 +2061,8 @@ unit cgcpu;
begin begin
if current_procinfo.procdef.isempty then if current_procinfo.procdef.isempty then
exit; exit;
if po_interrupt in current_procinfo.procdef.procoptions then if (po_interrupt in current_procinfo.procdef.procoptions) and
(not nostackframe) then
begin begin
{ check if the framepointer is actually used, this is done here because { check if the framepointer is actually used, this is done here because
we have to know the size of the locals (must be 0), avr does not know we have to know the size of the locals (must be 0), avr does not know
@ -2160,7 +2161,8 @@ unit cgcpu;
exit; exit;
if po_interrupt in current_procinfo.procdef.procoptions then if po_interrupt in current_procinfo.procdef.procoptions then
begin begin
if not(current_procinfo.procdef.isempty) then if not(current_procinfo.procdef.isempty) and
(not nostackframe) then
begin begin
regs:=rg[R_INTREGISTER].used_in_proc; regs:=rg[R_INTREGISTER].used_in_proc;
if current_procinfo.framepointer<>NR_NO then if current_procinfo.framepointer<>NR_NO then