* handle records with size 0 as function results correctly

git-svn-id: trunk@26303 -
This commit is contained in:
florian 2013-12-28 20:19:56 +00:00
parent 561ec1f782
commit de3a116a28

View File

@ -714,16 +714,25 @@ unit cpupara;
begin
paraloc^.loc:=LOC_REGISTER;
paraloc^.register:=NR_FUNCTION_RETURN_REG;
if (result.intsize<>3) then
begin
paraloc^.size:=retcgsize;
paraloc^.def:=result.def;
end
else
begin
paraloc^.size:=OS_32;
paraloc^.def:=u32inttype;
end;
case result.IntSize of
0:
begin
paraloc^.loc:=LOC_VOID;
paraloc^.register:=NR_NO;
paraloc^.size:=OS_NO;
paraloc^.def:=voidpointertype;
end;
3:
begin
paraloc^.size:=OS_32;
paraloc^.def:=u32inttype;
end;
else
begin
paraloc^.size:=retcgsize;
paraloc^.def:=result.def;
end;
end;
end;
end;
end;