* always write the entire integer field when storing a value < integer in an

arrayconstructor, so the upper bits get zeroed (tbs/tb0581)

git-svn-id: trunk@32214 -
This commit is contained in:
Jonas Maebe 2015-10-31 14:25:54 +00:00
parent 5e32590741
commit af4d69f446

View File

@ -1225,7 +1225,7 @@ implementation
if is_boolean(lt) then
begin
vtype:=vtBoolean;
varfield:=tfieldvarsym(search_struct_member_no_helper(trecorddef(eledef),'VBOOLEAN'));
varfield:=tfieldvarsym(search_struct_member_no_helper(trecorddef(eledef),'VINTEGER'));
end
else
if (lt.typ=orddef) then
@ -1234,12 +1234,12 @@ implementation
uchar:
begin
vtype:=vtChar;
varfield:=tfieldvarsym(search_struct_member_no_helper(trecorddef(eledef),'VCHAR'));
varfield:=tfieldvarsym(search_struct_member_no_helper(trecorddef(eledef),'VINTEGER'));
end;
uwidechar:
begin
vtype:=vtWideChar;
varfield:=tfieldvarsym(search_struct_member_no_helper(trecorddef(eledef),'VWIDECHAR'));
varfield:=tfieldvarsym(search_struct_member_no_helper(trecorddef(eledef),'VINTEGER'));
end;
end;
end;