if(arr) now a warning
John Colvin via Digitalmars-d
digitalmars-d at puremagic.com
Fri Apr 10 10:37:01 PDT 2015
On Friday, 10 April 2015 at 11:59:32 UTC, Kagamin wrote:
> On Friday, 10 April 2015 at 11:39:59 UTC, Vladimir Panteleev
> wrote:
>> https://github.com/D-Programming-Language/tools/pull/166/files
>> I don't know the code well enough to know if arr != null would
>> be more appropriate.
>
> It's probably a nitpick, I like arr!=null expression a lot, but
> currently compiler generates a horrible code for it: ldc
> generates comparison with typeinfos, and dmd inlines whole
> memcmp among other things instead of converting it to just
> arr.length!=0.
gcc does what you want:
bool foo(int[] a)
{
return a != null;
}
bool bar(int[] a)
{
return a.length != 0;
}
bool example.foo(int[]):
testq %rdi, %rdi
setne %al
ret
bool example.bar(int[]):
testq %rdi, %rdi
setne %al
ret
More information about the Digitalmars-d
mailing list