On 8/5/15 12:46 PM, Jonathan M Davis wrote:
Well, then please comment on the PR:
https://github.com/D-Programming-Language/druntime/pull/1337
It seems to me that the whole point of abort is to work around the fact
that Walter doesn't want assert(0) to print messages before the HLT
instruction in release mode. Certainly, I can't see any other reason for
it.
No, the reason is, if you want to print something before halting, and
you don't want to use any subsystems that you suspect are corrupt (e.g.
stdio), it's not a simple task. This makes it as simple as calling
assert. I thought it would be a useful utility.
Surely, we can improve core.time to throw in this case instead, since
the case where the ticksPerSecond is zero only happens when the OS did
not provide it. A slight possibility is that the memory was corrupted.
But I think the abort function still has use in other cases.
-Steve