null Vs [] return arrays
bearophile
bearophileHUGS at lycos.com
Sun Mar 27 06:37:47 PDT 2011
I have compiled this little D2 program:
int[] foo() {
return [];
}
int[] bar() {
return null;
}
void main() {}
Using DMD 2.052, dmd -O -release -inline test2.d
This is the asm of the two functions:
_D5test23fooFZAi comdat
L0: push EAX
mov EAX,offset FLAT:_D11TypeInfo_Ai6__initZ
push 0
push EAX
call near ptr __d_arrayliteralT
mov EDX,EAX
add ESP,8
pop ECX
xor EAX,EAX
ret
_D5test23barFZAi comdat
xor EAX,EAX
xor EDX,EDX
ret
Is this expected and desired? Isn't it better to compile the foo() as bar()?
Bye,
bearophile
More information about the Digitalmars-d-learn
mailing list