diff options
author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2019-01-06 20:35:56 +0000 |
---|---|---|
committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2019-01-06 20:35:56 +0000 |
commit | d4dad263a477bdbbc2161ce2c8d840ef70b8c291 (patch) | |
tree | 9ed7c55c60de306cdf38e560f4e3a16eeaae7020 /compiler/nld.pas | |
parent | 77938f251e1059bff6fbb30d2296034a8650c0a5 (diff) | |
download | fpc-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.pas | 2 |
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]); |