On Tuesday, 14 August 2012 at 08:48:14 UTC, Don Clugston wrote:
On 14/08/12 08:59, Don Clugston wrote:
On 13/08/12 18:47, Dmitry Olshansky wrote:
I seriously consider writing a simple postprocessor for dmd's output. Once dmd became able to recover from errors and crawl on it started to
produce horrific amounts of redundant text on failure.

Observe for instance that there are only 6 + 2 = 8 lines of interest:

Spurious or repeated error messages should be considered to be bugs. Please put test cases in Bugzilla. A long time ago, the compiler used to
spew reams of garbage all the time. Now it rarely happens.

Other food for thought is to try to indicate explicitly which errors are related vs unrelated, which are collateral, like failed template instantiation that rolls out the whole path of failure (but one have to
read the text carefully to get where it starts).

That's already happening. Supplemental messages don't have the word
'Error' at the start of the error message.

One fairly easy way to solve this, would be that once a template *instantiation* has failed, the template *definition* would be marked as doubtful, and any further instantiation using that definition would have all error messages suppressed. If an error occurred, a single error would be produced stating that the template instantiation failed.

The downside would be that if the template instantiation failed for a completely different reason the second time, its root cause error would not be shown. But this latest release is the only time such errors have been shown anyway.

Personally I loved the way Turbo Pascal used to work with compile failure on the first error.

Thanks to the fast compile times, it was easier and faster to fix-compile-find_next_error, than try to sort out the real errors from a dump of error messages.

But I seem to be in the minority regarding compiler error messages.

--
Paulo

Reply via email to