On 9/3/2016 6:20 AM, Adam D. Ruppe wrote:
On Saturday, 3 September 2016 at 12:12:34 UTC, Walter Bright wrote:
Except that asserts are checking for compiler bugs, not diagnostics on user 
code.

Except that in the real world, it is an irrelevant distinction because you have
stuff to do and can't afford to wait on the compiler team to actually fix the 
bug.

If nothing else, you'd like to know where it is so you can hack around the bug
by changing your implementation.

Users are not equipped to do that, and we shouldn't raise false expectations that they can. Developers who are equipped to that are able and willing to build the compiler from source with debugging turned on.

Really, what possible use is there to an end user for an assert that unhelpfully printed out a message that the register allocator failed? There's nothing "user friendly" about a such a message.


I understand if you want to say producing better error messages in the compiler
is a pain and you have other priorities, but surely you accept that they are
valuable for this reason if nothing else.

No, I do not accept that, and I've had no trouble working around asserts I've gotten from other vendors' compilers, despite there being no message other than the compiler failed.

Most of the time it's the last change made that triggered it. Back up one change and do something different.

Reply via email to