summaryrefslogtreecommitdiff
path: root/compiler/nld.pas
diff options
context:
space:
mode:
authorjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2019-01-06 20:35:56 +0000
committerjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2019-01-06 20:35:56 +0000
commitd4dad263a477bdbbc2161ce2c8d840ef70b8c291 (patch)
tree9ed7c55c60de306cdf38e560f4e3a16eeaae7020 /compiler/nld.pas
parent77938f251e1059bff6fbb30d2296034a8650c0a5 (diff)
downloadfpc-d4dad263a477bdbbc2161ce2c8d840ef70b8c291.tar.gz
* fixed several places where the interface crc could change:
o unsetting po_inline while parsing the implementation for various reasons (interprocedural goto/label, accessing a local in a parent frame, having nested procedures) o instead handle this via the pio_inline_not_possible flag o noreturn can no longer be specified only in the implementation git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@40789 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/nld.pas')
-rw-r--r--compiler/nld.pas2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/nld.pas b/compiler/nld.pas
index 798820174d..3549617e0b 100644
--- a/compiler/nld.pas
+++ b/compiler/nld.pas
@@ -332,7 +332,7 @@ implementation
internalerror(200309289);
left:=cloadparentfpnode.create(tprocdef(symtable.defowner),lpf_forload);
{ we can't inline the referenced parent procedure }
- exclude(tprocdef(symtable.defowner).procoptions,po_inline);
+ include(tprocdef(symtable.defowner).implprocoptions,pio_nested_access);
{ reference in nested procedures, variable needs to be in memory }
{ and behaves as if its address escapes its parent block }
make_not_regable(self,[ra_different_scope]);