Jelajahi Sumber

* when determining whether a temporary paraloc can be in a LOC_REGISTER,
look at paraloc^.size rather than cgpara.size, because e.g. a 32 bit
record (-> cgpara.size=OS_32) may have to be passed via a
LOC_MMREGISTER (-> paraloc^.size=OS_F32 or OS_M32)

git-svn-id: trunk@15365 -

Jonas Maebe 15 tahun lalu
induk
melakukan
27f6376fd4
1 mengubah file dengan 1 tambahan dan 1 penghapusan
  1. 1 1
      compiler/paramgr.pas

+ 1 - 1
compiler/paramgr.pas

@@ -349,7 +349,7 @@ implementation
               on arm it reduces executable size of the compiler by 2.1 per cent (FK) }
             { Does it fit a register? }
             if (len<=sizeof(pint)) and
-               (cgpara.size in [OS_8,OS_16,OS_32,OS_64,OS_128,OS_S8,OS_S16,OS_S32,OS_S64,OS_S128]) then
+               (paraloc^.size in [OS_8,OS_16,OS_32,OS_64,OS_128,OS_S8,OS_S16,OS_S32,OS_S64,OS_S128]) then
               newparaloc^.loc:=LOC_REGISTER
             else
               newparaloc^.loc:=paraloc^.loc;