* check if current_procinfo is assigned in paramanager code to avoid crashes

git-svn-id: trunk@23303 -
This commit is contained in:
florian 2013-01-03 23:00:03 +00:00
parent 329257d76e
commit 7ac9f11cc7
2 changed files with 9 additions and 2 deletions

View File

@ -530,7 +530,11 @@ unit cpupara;
else
begin
paraloc^.reference.index:=NR_R12;
tppcprocinfo(current_procinfo).needs_frame_pointer := true;
{ create_paraloc_info_intern might be also called when being outside of
code generation so current_procinfo might be not set }
if assigned(current_procinfo) then
tppcprocinfo(current_procinfo).needs_frame_pointer := true;
end;
if not((target_info.system in systems_aix) and

View File

@ -427,7 +427,10 @@ begin
else begin
{ during procedure entry, NR_OLD_STACK_POINTER_REG contains the old stack pointer }
paraloc^.reference.index := NR_OLD_STACK_POINTER_REG;
tppcprocinfo(current_procinfo).needs_frame_pointer := true;
{ create_paraloc_info_intern might be also called when being outside of
code generation so current_procinfo might be not set }
if assigned(current_procinfo) then
tppcprocinfo(current_procinfo).needs_frame_pointer := true;
end;
paraloc^.reference.offset := stack_offset;