dmd 2.057 release

Christian Manning cmanning999 at gmail.com
Fri Dec 16 13:37:50 PST 2011


On Friday, 16 December 2011 at 16:43:29 UTC, Jonathan M Davis 
wrote:
> On Friday, December 16, 2011 16:26:11 Christian Manning wrote:
>> On Wednesday, 14 December 2011 at 07:05:25 UTC, Walter Bright
>> 
>> wrote:
>> > Highlights are use of XMM floating point registers in 64 bit
>> > targets, and now supporting OS X 64 as a target.
>> > 
>> > http://www.digitalmars.com/d/2.0/changelog.html
>> > http://ftp.digitalmars.com/dmd.2.057.zip
>> > 
>> > A lot of people put a ton of effort into making this D's best
>> > release ever. Thanks!
>> 
>> I found a bug when slicing static arrays. It's not new to 2.057
>> but I totally forgot about it (my bad) and didn't simplify a 
>> test
>> case.
>> 
>> auto x() {
>>   ubyte[4] a;
>>   return a;
>> }
>> 
>> auto y() {
>>   return x()[1..$];
>> }
>> 
>> void main() {
>>   y();
>> }
>> 
>> Gives:
>> Internal error: ..\ztc\cgcs.c 354
>> 
>> Is this known or should I file a bug?
>
> It may bhttp://d.puremagic.com/issues/show_bug.cgi?id=4414
>
> I'd point out though that that is really bad code, which should 
> probably give an error when you try and compile it (though it 
> obviously shouldn't cause the compiler to ICE regardless).
>
> http://d.puremagic.com/issues/show_bug.cgi?id=7087
>
> - Jonathan M Davis

It was just some mess around code, but I'll avoid it in the 
future, so thanks for pointing it out :)

It does indeed look to be the same problem as 
http://d.puremagic.com/issues/show_bug.cgi?id=4414
I should also point out that the appearance of the error is 
dependant on the slice size.

How about this as a better test case?

ubyte[4] a;
auto x() {
    return a;
}
void main() {
    auto b = x()[1..$];
}


More information about the Digitalmars-d-announce mailing list