Browse Source

* check that a_load_cgparaloc_anyreg() is not used to try to move an fpu
register into a non-fpu register, as this is not (yet) supported

git-svn-id: trunk@30226 -

Jonas Maebe 10 years ago
parent
commit
622852b8c9
1 changed files with 8 additions and 1 deletions
  1. 8 1
      compiler/cgobj.pas

+ 8 - 1
compiler/cgobj.pas

@@ -1214,7 +1214,14 @@ implementation
                end;
              end;
            LOC_FPUREGISTER :
-             a_loadfpu_reg_reg(list,paraloc.size,regsize,paraloc.register,reg);
+             begin
+               case getregtype(reg) of
+                 R_FPUREGISTER:
+                   a_loadfpu_reg_reg(list,paraloc.size,regsize,paraloc.register,reg)
+                 else
+                   internalerror(2015031401);
+                 end;
+             end;
            LOC_REFERENCE :
              begin
                reference_reset_base(href,paraloc.reference.index,paraloc.reference.offset,align);