mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-06 19:00:04 +02:00
* ensure that nested functions of main program, main program finalization and unit initialization/finalization are generated
This commit is contained in:
parent
4dbdb4f0f1
commit
ddba001b65
@ -1295,7 +1295,7 @@ type
|
|||||||
not(has_no_code(init_procinfo.code)) then
|
not(has_no_code(init_procinfo.code)) then
|
||||||
begin
|
begin
|
||||||
init_procinfo.code:=cnodeutils.wrap_proc_body(init_procinfo.procdef,init_procinfo.code);
|
init_procinfo.code:=cnodeutils.wrap_proc_body(init_procinfo.procdef,init_procinfo.code);
|
||||||
init_procinfo.generate_code;
|
init_procinfo.generate_code_tree;
|
||||||
include(current_module.moduleflags,mf_init);
|
include(current_module.moduleflags,mf_init);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@ -1310,7 +1310,7 @@ type
|
|||||||
not(has_no_code(finalize_procinfo.code)) then
|
not(has_no_code(finalize_procinfo.code)) then
|
||||||
begin
|
begin
|
||||||
finalize_procinfo.code:=cnodeutils.wrap_proc_body(finalize_procinfo.procdef,finalize_procinfo.code);
|
finalize_procinfo.code:=cnodeutils.wrap_proc_body(finalize_procinfo.procdef,finalize_procinfo.code);
|
||||||
finalize_procinfo.generate_code;
|
finalize_procinfo.generate_code_tree;
|
||||||
include(current_module.moduleflags,mf_finalize);
|
include(current_module.moduleflags,mf_finalize);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@ -2308,7 +2308,7 @@ type
|
|||||||
tstoredsymtable(current_module.localsymtable).checklabels;
|
tstoredsymtable(current_module.localsymtable).checklabels;
|
||||||
|
|
||||||
{ See remark in unit init/final }
|
{ See remark in unit init/final }
|
||||||
main_procinfo.generate_code;
|
main_procinfo.generate_code_tree;
|
||||||
main_procinfo.resetprocdef;
|
main_procinfo.resetprocdef;
|
||||||
release_main_proc(main_procinfo);
|
release_main_proc(main_procinfo);
|
||||||
if assigned(init_procinfo) then
|
if assigned(init_procinfo) then
|
||||||
@ -2327,7 +2327,7 @@ type
|
|||||||
not(has_no_code(finalize_procinfo.code)) then
|
not(has_no_code(finalize_procinfo.code)) then
|
||||||
begin
|
begin
|
||||||
finalize_procinfo.code:=cnodeutils.wrap_proc_body(finalize_procinfo.procdef,finalize_procinfo.code);
|
finalize_procinfo.code:=cnodeutils.wrap_proc_body(finalize_procinfo.procdef,finalize_procinfo.code);
|
||||||
finalize_procinfo.generate_code;
|
finalize_procinfo.generate_code_tree;
|
||||||
include(current_module.moduleflags,mf_finalize);
|
include(current_module.moduleflags,mf_finalize);
|
||||||
end;
|
end;
|
||||||
finalize_procinfo.resetprocdef;
|
finalize_procinfo.resetprocdef;
|
||||||
|
Loading…
Reference in New Issue
Block a user