X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fmcs51%2Fpeep.c;h=ad52c518e46b959fdd5d1a114eff8779363f050f;hb=9500c4aaee6731f0f6d1aef3f1d8d9aba0c72f95;hp=872dded4c587274b8ad5e31274e45c073aaad6cb;hpb=3d5f7dfa8edf8ea9a0e1b0d74ab0daadbf7e819c;p=fw%2Fsdcc diff --git a/src/mcs51/peep.c b/src/mcs51/peep.c index 872dded4..ad52c518 100644 --- a/src/mcs51/peep.c +++ b/src/mcs51/peep.c @@ -216,7 +216,7 @@ isFunc (const lineNode *pl) /*-----------------------------------------------------------------*/ /* isCallerSaveFunc - returns TRUE if it's a 'normal' function */ -/* call and it's a 'caller save' (not 'callee save') */ +/* call and it's a 'caller save' (not 'callee save' or 'naked') */ /*-----------------------------------------------------------------*/ static bool isCallerSaveFunc (const lineNode *pl) @@ -225,6 +225,8 @@ isCallerSaveFunc (const lineNode *pl) return FALSE; if (FUNC_CALLEESAVES(OP_SYM_TYPE(IC_LEFT(pl->ic)))) return FALSE; + if (FUNC_ISNAKED(OP_SYM_TYPE(IC_LEFT(pl->ic)))) + return FALSE; return TRUE; }