On 14-Aug-12 12:48, 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.


Will do.

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.


I think it would be nice to merge different template instantiation failures with identical lists of error messages (or simply same lines). In my case all of them have the same error list (2 lines), in general it may end up having few different groups of failed instantiations

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.

Yes, see the idea above.

Reply via email to