From e2b1f70ac6641e1184d01c0dda8cd1490ef0e67c Mon Sep 17 00:00:00 2001 From: svenbarth Date: Thu, 14 Apr 2016 21:30:36 +0000 Subject: [PATCH] Local symbols and defs that are needed for packages need to be registered as well => register the symbols and defs for the init and finalize functions. pmodules.pas: * create_main_proc: register the proc's symbol ngenutil.pas, tnodeutils: * create_main_procdef: register the proc's def git-svn-id: trunk@33507 - --- compiler/ngenutil.pas | 2 ++ compiler/pmodules.pas | 2 ++ 2 files changed, 4 insertions(+) diff --git a/compiler/ngenutil.pas b/compiler/ngenutil.pas index acd525670c..1c1041a0a0 100644 --- a/compiler/ngenutil.pas +++ b/compiler/ngenutil.pas @@ -653,6 +653,8 @@ implementation pd:=cprocdef.create(main_program_level,true) else pd:=cprocdef.create(normal_function_level,true); + { always register the def } + pd.register_def; pd.procsym:=ps; ps.ProcdefList.Add(pd); include(pd.procoptions,po_global); diff --git a/compiler/pmodules.pas b/compiler/pmodules.pas index 5a3e101f24..38a6897f07 100644 --- a/compiler/pmodules.pas +++ b/compiler/pmodules.pas @@ -605,6 +605,8 @@ implementation internalerror(200304275); {Generate a procsym for main} ps:=cprocsym.create('$'+name); + { always register the symbol } + ps.register_sym; { main are allways used } inc(ps.refs); st.insert(ps);