compiling dmd

Trass3r un at known.com
Tue Dec 27 08:50:05 PST 2011


On Tuesday, 27 December 2011 at 16:33:30 UTC, Andrei Alexandrescu 
wrote:
> On 12/27/11 9:51 AM, Torarin wrote:
>> 2011/12/27 Joshua Reusch<yoschi at arkandos.de>:
>>> $ ./dmd lambda_test
>>> dmd: malloc.c:3096: sYSMALLOc: Assertion `(old_top == 
>>> (((mbinptr) (((char *)
>>> &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct 
>>> malloc_chunk,
>>> fd))))&&  old_size == 0) || ((unsigned long) (old_size)>= 
>>> (unsigned
>>> long)((((__builtin_offsetof (struct malloc_chunk, 
>>> fd_nextsize))+((2 *
>>> (sizeof(size_t))) - 1))&  ~((2 * (sizeof(size_t))) - 1)))&&
>>> ((old_top)->size&  0x1)&&  ((unsigned long)old_end&  
>>> pagemask) == 0)'
>>> failed.
>>
>> Did you do a clean before compiling? I forgot, and got the 
>> same error.
>
> I confirm the new syntax works after a rebase and clean rebuild.

I've always wondered how dmd manages to do that.
It's well known that dmd gives you a nut kick if you try to 
compile D code incrementally.
But even the dmd source itself has to be rebuilt every time if 
you don't want strange errors and that's C++.

I don't even know if it's a laughing matter or not.


More information about the Digitalmars-d mailing list