[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Pragma Specs
> From: Sander van der Wal <svdwal@xs4all.nl>
> Date: Fri, 19 Apr 1996 20:03:41 +0100
> ...
> > StackCheck -- how should this be marked in the GSA code?
I've added some clarifications. Unless someone has further comments
I'll bury this spec somewhere in the frontend docs and add this flag
to the front-end.
>
> I suggest as an attribute of the PROCEDURE/module body and the enter
> instruction.
Fine. The enter instruction will have the flag `instrStackCheck' set
iff the pragma variable StackCheck has the value TRUE at the place of
the BEGIN keyword (this covers procs and module body).
> Definition:
> <*StackCheck := TRUE *>
> The runtime environment will check for stack overflows. On systems
> with software stack checking code will be generated to check
> for stack overflow.
If set for a procedure (resp. module) body B, it's asserted that a
stack overflow during execution of this procedure is detected. Note
that procedures called from B may still overflow the stack, unless
they have been compiled with StackCheck=TRUE themselfes.
>
> <*StackCheck := FALSE *>
> The runtime environment will not check for stack overflows
> if this can be disabled, otherwise at compile time a warning
> ('Cannot disable runtime stack checking') will be issued.
> On systems with software stack checks, no code to check
> stack overflow will be generated.
>
> The default value of StackCheck is TRUE.
On systems that support it, otherwise it's FALSE.