mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-06 13:50:20 +02:00
* encode the result type of functions returning a zero-sized value
using their actual type (array/record) rather than using the simplified type (void), so we can also return an actual value and assign it to something (void means that nothing is returned and cannot be assigned to anything) (completes fixing tests/test/tnoext4.pp for llvm) git-svn-id: trunk@34120 -
This commit is contained in:
parent
2148a20d6a
commit
0cce590982
@ -856,8 +856,13 @@ implementation
|
||||
{ single location }
|
||||
if not assigned(cgpara.location^.next) then
|
||||
begin
|
||||
{ def of the location, except in case of zero/sign-extension }
|
||||
usedef:=cgpara.location^.def;
|
||||
{ def of the location, except in case of zero/sign-extension and
|
||||
zero-sized records }
|
||||
if not is_special_array(cgpara.def) and
|
||||
(cgpara.def.size=0) then
|
||||
usedef:=cgpara.def
|
||||
else
|
||||
usedef:=cgpara.location^.def;
|
||||
if beforevalueext then
|
||||
llvmextractvalueextinfo(cgpara.def,usedef,valueext);
|
||||
{ comp and currency are handled by the x87 in this case. They cannot
|
||||
|
Loading…
Reference in New Issue
Block a user