|
@@ -262,7 +262,10 @@ unit cgcpu;
|
|
|
stacksize:=current_procinfo.calc_stackframe_size;
|
|
|
if (target_info.system = system_i386_darwin) and
|
|
|
((stacksize <> 0) or
|
|
|
- (pi_do_call in current_procinfo.flags)) then
|
|
|
+ (pi_do_call in current_procinfo.flags) or
|
|
|
+ { can't detect if a call in this case -> use nostackframe }
|
|
|
+ { if you (think you) know what you are doing }
|
|
|
+ (po_assembler in current_procinfo.procdef.procoptions)) then
|
|
|
stacksize := align(stacksize+sizeof(aint),16) - sizeof(aint);
|
|
|
if (stacksize<>0) then
|
|
|
cg.a_op_const_reg(list,OP_ADD,OS_ADDR,stacksize,current_procinfo.framepointer);
|