diff --git a/compiler/wasm32/cpupi.pas b/compiler/wasm32/cpupi.pas index 8deb18eeb4..0db46688c8 100644 --- a/compiler/wasm32/cpupi.pas +++ b/compiler/wasm32/cpupi.pas @@ -353,8 +353,6 @@ implementation list.concat(taicpu.op_none(a_end_block)); thlcgwasm(hlcg).decblock; inherited generate_exit_label(list); - if ts_wasm_bf_exceptions in current_settings.targetswitches then - hlcg.a_label(list,CurrRaiseLabel); end; procedure tcpuprocinfo.postprocess_code; diff --git a/compiler/wasm32/hlcgcpu.pas b/compiler/wasm32/hlcgcpu.pas index 4ccd3bbf4f..10e43447e7 100644 --- a/compiler/wasm32/hlcgcpu.pas +++ b/compiler/wasm32/hlcgcpu.pas @@ -2191,10 +2191,16 @@ implementation inherited; list.concat(taicpu.op_none(a_block)); incblock; + list.concat(taicpu.op_none(a_block)); + incblock; end; procedure thlcgwasm.gen_exit_code(list: TAsmList); begin + list.concat(taicpu.op_none(a_end_block)); + thlcgwasm(hlcg).decblock; + if ts_wasm_bf_exceptions in current_settings.targetswitches then + a_label(list,tcpuprocinfo(current_procinfo).CurrRaiseLabel); if fevalstackheight<>0 then {$ifdef DEBUG_WASMSTACK} list.concat(tai_comment.Create(strpnew('!!! values remaining on stack at end of block !!!')));