diff --git a/compiler/ncgbas.pas b/compiler/ncgbas.pas index 2d6274bbaf..c4e14794f3 100644 --- a/compiler/ncgbas.pas +++ b/compiler/ncgbas.pas @@ -486,6 +486,15 @@ interface if release_to_normal then tempinfo^.location.loc := LOC_REGISTER; end; + LOC_CFPUREGISTER, + LOC_FPUREGISTER: + begin + { make sure the register allocator doesn't reuse the } + { register e.g. in the middle of a loop } + cg.a_reg_sync(exprasmlist,tempinfo^.location.register); + if release_to_normal then + tempinfo^.location.loc := LOC_FPUREGISTER; + end; else internalerror(200507161); end;