Browse Source

* fixed location_force_reg() for big endian 32 bit targets and
LOC_SUBSETREF/LOC_CSUBSETREF (fixes test/tregreg4 on sparc and ppc32
after r14892)

git-svn-id: trunk@14895 -

Jonas Maebe 15 years ago
parent
commit
6dd25eb233
1 changed files with 1 additions and 1 deletions
  1. 1 1
      compiler/ncgutil.pas

+ 1 - 1
compiler/ncgutil.pas

@@ -604,7 +604,7 @@ implementation
                     { MSB first in memory and e.g. byte(word_var) should  }
                     { MSB first in memory and e.g. byte(word_var) should  }
                     { return  the second byte in this case (JM)           }
                     { return  the second byte in this case (JM)           }
                     if (target_info.endian = ENDIAN_BIG) and
                     if (target_info.endian = ENDIAN_BIG) and
-                       (l.loc in [LOC_REFERENCE,LOC_CREFERENCE,LOC_SUBSETREF,LOC_CSUBSETREF]) then
+                       (l.loc in [LOC_REFERENCE,LOC_CREFERENCE]) then
                       begin
                       begin
                         inc(l.reference.offset,TCGSize2Size[l.size]-TCGSize2Size[dst_size]);
                         inc(l.reference.offset,TCGSize2Size[l.size]-TCGSize2Size[dst_size]);
                         l.reference.alignment:=newalignment(l.reference.alignment,TCGSize2Size[l.size]-TCGSize2Size[dst_size]);
                         l.reference.alignment:=newalignment(l.reference.alignment,TCGSize2Size[l.size]-TCGSize2Size[dst_size]);