mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-08 02:45:56 +02:00
* do not use push/pop based exception reason handling on i386 if dwarf based exceptions are used
git-svn-id: branches/debug_eh@41282 -
This commit is contained in:
parent
a0831b058a
commit
dfe37de0a1
@ -228,7 +228,7 @@ implementation
|
||||
|
||||
procedure thlcgcpu.g_exception_reason_save(list: TAsmList; fromsize, tosize: tdef; reg: tregister; const href: treference);
|
||||
begin
|
||||
if not paramanager.use_fixed_stack then
|
||||
if not(paramanager.use_fixed_stack) and not(tf_use_psabieh in target_info.flags) then
|
||||
list.concat(Taicpu.op_reg(A_PUSH,tcgsize2opsize[def_cgsize(tosize)],reg))
|
||||
else
|
||||
inherited
|
||||
@ -237,7 +237,7 @@ implementation
|
||||
|
||||
procedure thlcgcpu.g_exception_reason_save_const(list: TAsmList; size: tdef; a: tcgint; const href: treference);
|
||||
begin
|
||||
if not paramanager.use_fixed_stack then
|
||||
if not(paramanager.use_fixed_stack) and not(tf_use_psabieh in target_info.flags) then
|
||||
list.concat(Taicpu.op_const(A_PUSH,tcgsize2opsize[def_cgsize(size)],a))
|
||||
else
|
||||
inherited;
|
||||
@ -246,7 +246,7 @@ implementation
|
||||
|
||||
procedure thlcgcpu.g_exception_reason_load(list: TAsmList; fromsize, tosize: tdef; const href: treference; reg: tregister);
|
||||
begin
|
||||
if not paramanager.use_fixed_stack then
|
||||
if not(paramanager.use_fixed_stack) and not(tf_use_psabieh in target_info.flags) then
|
||||
list.concat(Taicpu.op_reg(A_POP,tcgsize2opsize[def_cgsize(tosize)],reg))
|
||||
else
|
||||
inherited;
|
||||
@ -255,7 +255,7 @@ implementation
|
||||
|
||||
procedure thlcgcpu.g_exception_reason_discard(list: TAsmList; size: tdef; href: treference);
|
||||
begin
|
||||
if not paramanager.use_fixed_stack then
|
||||
if not(paramanager.use_fixed_stack) and not(tf_use_psabieh in target_info.flags) then
|
||||
begin
|
||||
getcpuregister(list,NR_FUNCTION_RESULT_REG);
|
||||
list.concat(Taicpu.op_reg(A_POP,tcgsize2opsize[def_cgsize(size)],NR_FUNCTION_RESULT_REG));
|
||||
|
Loading…
Reference in New Issue
Block a user