compiling dmd

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Tue Dec 27 09:40:12 PST 2011


On 12/27/11 10:50 AM, Trass3r wrote:
> 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.

I think it's a makefile matter.

Andrei


More information about the Digitalmars-d mailing list