summaryrefslogtreecommitdiff
path: root/compiler/psub.pas
diff options
context:
space:
mode:
authorjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2015-10-13 15:59:18 +0000
committerjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2015-10-13 15:59:18 +0000
commit4f393b98cd68826ae9daa12d7a8f90f6a4f4f2e3 (patch)
tree1e820022e9a701dcd202ed582760ad0473b6538e /compiler/psub.pas
parent97d9e4925ffae903fa7bbb6abd4bbe6a8df20d2c (diff)
downloadfpc-4f393b98cd68826ae9daa12d7a8f90f6a4f4f2e3.tar.gz
* don't store node trees for inline generic routines, as they contain
references to defs that are not stored in the ppu files (causing errors) and are never used for inlining (only the specialisations may be inlined) (fixes webtbs/tw27658.pp after r32031) git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@32050 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/psub.pas')
-rw-r--r--compiler/psub.pas5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/psub.pas b/compiler/psub.pas
index 76fd21616a..9db759400b 100644
--- a/compiler/psub.pas
+++ b/compiler/psub.pas
@@ -145,6 +145,11 @@ implementation
currpara : tparavarsym;
begin
result := false;
+ { this code will never be used (only specialisations can be inlined),
+ and moreover contains references to defs that are not stored in the
+ ppu file }
+ if df_generic in current_procinfo.procdef.defoptions then
+ exit;
if pi_has_assembler_block in current_procinfo.flags then
begin
Message1(parser_h_not_supported_for_inline,'assembler');