http://d.puremagic.com/issues/show_bug.cgi?id=7018
Summary: finally block not executed for assertions Product: D Version: D2 Platform: Other OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: d...@dawgfoto.de --- Comment #0 from d...@dawgfoto.de 2011-11-26 15:01:32 PST --- void main(string[] args) { try { assert(args.length > 1); } finally { extern(C) void printf(const char* format, ...); printf("finally\n"); } } --- The issue is that AssertExp is marked as nothrow. This bug is responsible for the deadlocks in druntime unittests. synchronized(foo) { assert(exp); } is rewritten as _d_monitorenter(__sync); assert(exp); _d_monitorexit(__sync); -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------