+ also set the operand size in constants like recordtype (without addressing a

record field). This makes e.g.
    test [di + recordtype], 1
  work and use the size of recordtype to determine the operand size; recordtype
  itself is evaluated to 0, so if recordtype's size is 2 bytes, the above
  instruction assembles as:
    test word ptr [di], 1
  Ugly, but TP7 compatible.

git-svn-id: trunk@38176 -
This commit is contained in:
nickysn 2018-02-09 17:43:31 +00:00
parent 7338437dcd
commit f0765421eb

View File

@ -1083,6 +1083,7 @@ Unit Rax86int;
begin
if not(ttypesym(sym).typedef.typ in [recorddef,objectdef]) then
Message(asmr_e_wrong_sym_type);
size:=ttypesym(sym).typedef.size;
end;
fieldvarsym :
begin