mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-27 12:32:03 +01:00
be used outside the code generator
* renamed tabstractprocdef.requiredargarea into callerargareasize,
and also added calleeargareasize field; added init_paraloc_info(side)
method to init the parameter locations and init those size fields and
replaced all "if not procdef.has_paraloc_info then ..." blocks with
procdef.init_paraloc_info(callersize)"
* moved detection of stack tainting parameters from psub to
symdef/tabstractprocdef
+ added tcallparanode.contains_stack_tainting_call(), which detects
whether a parameter contains a call that makes use of stack paramters
* record for each parameter whether or not any following parameter
contains a call with stack parameters; if not, in case the current
parameter itself is a stack parameter immediately place it in its
final location also for use_fixed_stack platforms rather than
first putting it in a temporary location (part of mantis #17442)
* on use_fixed_stack platforms, always first evaluate parameters
containing a stack tainting call, since those force any preceding
stack parameters of the current call to be stored in a temp location
and copied to the final location afterwards
git-svn-id: trunk@16050 -
|
||
|---|---|---|
| .. | ||
| agppcmpw.pas | ||
| agppcvasm.pas | ||
| aoptcpu.pas | ||
| aoptcpub.pas | ||
| aoptcpuc.pas | ||
| aoptcpud.pas | ||
| cgcpu.pas | ||
| cpubase.pas | ||
| cpuinfo.pas | ||
| cpunode.pas | ||
| cpupara.pas | ||
| cpupi.pas | ||
| cputarg.pas | ||
| itcpugas.pas | ||
| nppcadd.pas | ||
| nppccal.pas | ||
| nppccnv.pas | ||
| nppcmat.pas | ||
| ppcins.dat | ||
| ppcreg.dat | ||
| rappc.pas | ||
| rappcgas.pas | ||
| rppccon.inc | ||
| rppcdwrf.inc | ||
| rppcgas.inc | ||
| rppcgri.inc | ||
| rppcgss.inc | ||
| rppcmot.inc | ||
| rppcmri.inc | ||
| rppcnor.inc | ||
| rppcnum.inc | ||
| rppcrni.inc | ||
| rppcsri.inc | ||
| rppcstab.inc | ||
| rppcstd.inc | ||
| rppcsup.inc | ||