On 30 March 2012 15:22, David Nadlinger <[email protected]> wrote: > On 30 Mar 2012, at 13:13, Daniel Murphy wrote: >> >> An error (with a line number) would be even better than an assert in >> many cases, as it would at least give an indication of what need to be >> changed to work around the compiler bug. > > > +1, in cases where reasonable location information can be given easily. > Avoiding segfaults is certainly an important step in terms of perceived > quality, but I think that giving the user at least a diffuse idea of what > piece of code triggered the bug when searching for a workaround (without > needing to know how to dump DMD source location data from inside GDB) would > help greatly reducing the frustration in »Help, DMD ICEs on my 20-module > project and I have no idea what to do« cases. > > Of course, this is only applicable to a fairly small share of all bugs, and > without understanding the problem and thus probably being able to fix the > bug anyway, the information given might always be off somewhat, but as long > as a message is easy to add…
It's not easy to add. There are about **75** open ICE bugs ( I got it down to 11 once, but it's crept back up - sigh). At least if there is an assert failure, you know instantly that it was a compiler bug, and you can search bugzilla. There are three unpatched segfaults I found ( 6358, 6951=7478, 7602) + the infinite loop (7140) + two I've got pull requests for (7380 7639) + two which seem to be already fixed in git master (6723 7709). So it's quite manageable to deal them all. _______________________________________________ dmd-beta mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/dmd-beta
