summaryrefslogtreecommitdiff
path: root/compiler/paramgr.pas
diff options
context:
space:
mode:
authorpierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2>2012-09-27 15:57:40 +0000
committerpierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2>2012-09-27 15:57:40 +0000
commit2318e46e29df1e6081052c21cf7175cbf203d2b1 (patch)
treec9624ebd6fd417c822a33349aaf3a25adccaa9f9 /compiler/paramgr.pas
parentb063902e87163cdf95703b996ec05a9bdd5fd2b5 (diff)
downloadfpc-2318e46e29df1e6081052c21cf7175cbf203d2b1.tar.gz
Use SUPPORT_SAFECALL conditional
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@22488 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/paramgr.pas')
-rw-r--r--compiler/paramgr.pas6
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/paramgr.pas b/compiler/paramgr.pas
index eb56b066db..a9ed760d60 100644
--- a/compiler/paramgr.pas
+++ b/compiler/paramgr.pas
@@ -169,6 +169,12 @@ implementation
{ true if uses a parameter as return value }
function tparamanager.ret_in_param(def : tdef;calloption : tproccalloption) : boolean;
begin
+ if (tf_safecall_exceptions in target_info.flags) and
+ (calloption=pocall_safecall) then
+ begin
+ result:=true;
+ exit;
+ end;
ret_in_param:=((def.typ=arraydef) and not(is_dynamic_array(def))) or
(def.typ=recorddef) or
(def.typ=stringdef) or