From 26ade8d624457b7164502ed9c190ca3f146bda0c Mon Sep 17 00:00:00 2001 From: Robert de Bath Date: Sun, 11 Aug 2002 08:50:48 +0200 Subject: Import Dev86src-0.16.8.tar.gz --- bcc/preserve.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'bcc/preserve.c') diff --git a/bcc/preserve.c b/bcc/preserve.c index c8a8cea..779efc2 100644 --- a/bcc/preserve.c +++ b/bcc/preserve.c @@ -6,6 +6,7 @@ #include "gencode.h" #include "reg.h" #include "type.h" +#include "scan.h" /* change stack ptr without changing condition codes */ @@ -18,11 +19,20 @@ bool_pt absflag; #ifdef FRAMEPOINTER if (newsp != framep || (!(bool_t) absflag && switchnow != NULL)) { + int off; outleasp(); if (!(bool_t) absflag && switchnow != NULL) - outswoffset(newsp); + outswoffset(off = newsp); else - outoffset(newsp - framep); + outoffset(off = newsp - framep); +#ifndef NO_DEL_PUSH + if (optimise && !callersaves && off < 0) + { + outstr("+"); + outstr(funcname); + outstr(".off"); + } +#endif outindframereg(); outnl(); } -- cgit v1.2.1