DMD 2.066 druntime looks broken...

Joakim via Digitalmars-d digitalmars-d at puremagic.com
Wed Sep 24 14:54:19 PDT 2014


On Wednesday, 24 September 2014 at 21:35:44 UTC, Iain Buclaw via 
Digitalmars-d wrote:
> On 24 September 2014 19:22, Iain Buclaw via Digitalmars-d
> <digitalmars-d at puremagic.com> wrote:
>> I don't know how DMD compiles rt.lifetime successfully.
>>
>> https://github.com/D-Programming-Language/druntime/search?utf8=%E2%9C%93&q=_d_monitordelete
>>
>> It should error with 'undefined identifier _d_monitordelete' - 
>> but no, that
>> would be the obvious thing to do.
>>
>> Iain
>>
>
> Another weird one that has me for the moment stumped...
>
> https://github.com/D-Programming-Language/druntime/search?utf8=%E2%9C%93&q=callWithStackShell%28scope&type=Code
>
> callWithStackShell is marked nothrow, yet it's delegate 
> parameter 'fn'
> is not nothrow!
>
> Bonus points, D inline assembly in a nothrow function.

I ran into this when compiling the 2.066 frontend with ldc HEAD 
for linux/arm, but not for linux/x86.  I figured it was some 
strange issue with ARM and worked around it by labeling "fn" as 
nothrow, then the actual function "op" passed to it in 
thread_suspendHandler as nothrow, and finally removing the 
commented out nothrow at the top of core.sys.posix.signal.  That 
finally shut it up, and the tests passed too.

So at least ldc seems to detect it as an error on certain arches! 
;)


More information about the Digitalmars-d mailing list