summaryrefslogtreecommitdiff
path: root/compiler/cgutils.pas
diff options
context:
space:
mode:
authorjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2010-09-26 21:24:14 +0000
committerjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2010-09-26 21:24:14 +0000
commit67fdc4128883f8a5fcab97f5ff9c35e511743432 (patch)
tree076e60927b8362ab7fc6916329ee1c0eebba4943 /compiler/cgutils.pas
parent902190edb601e383550f659bc60588cecd2c6d2f (diff)
downloadfpc-67fdc4128883f8a5fcab97f5ff9c35e511743432.tar.gz
* moved use_fixed_stack from cgutils to a method in paramgr so it can
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: http://svn.freepascal.org/svn/fpc/trunk@16050 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/cgutils.pas')
-rw-r--r--compiler/cgutils.pas17
1 files changed, 0 insertions, 17 deletions
diff --git a/compiler/cgutils.pas b/compiler/cgutils.pas
index 2284af3e74..63aa8aff01 100644
--- a/compiler/cgutils.pas
+++ b/compiler/cgutils.pas
@@ -148,10 +148,6 @@ unit cgutils;
procedure location_copy(var destloc:tlocation; const sourceloc : tlocation);
procedure location_swap(var destloc,sourceloc : tlocation);
-
- { allocate room for parameters on the stack in the entry code? }
- function use_fixed_stack: boolean;
-
{ returns r with the given alignment }
function setalignment(const r : treference;b : byte) : treference;
@@ -248,18 +244,5 @@ uses
end;
- function use_fixed_stack: boolean;
- begin
-{$ifdef i386}
- result := (target_info.system in [system_i386_darwin,system_x86_64_darwin]);
-{$else i386}
-{$ifdef cputargethasfixedstack}
- result := true;
-{$else cputargethasfixedstack}
- result := false;
-{$endif cputargethasfixedstack}
-{$endif i386}
- end;
-
end.