Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-core-dev] Default Error Parsers was(Re: [cdt-patch] Fix

> 
> > Sounds like a good idea.
> > Is that satisfactory to you Leo ?
> > Was the reordering of importance to you ?
> 
> As I think I've written to cdt-dev during the last month or so, I found
> a few surprises in the base error parser code when implementing the
> error parser support dialog box for the managed build system.
> 
> I committed to Sean Evoy that I would look into these.  However, none of
> these problems are any more important to an Intel integration than to
> any other integration that supplies an error parser.  What I need to
> know now, is whether an Intel C++ error parser should always return
> false when used in CDT 2.0.  I would not suggest making any changes in
> 2.0 that don't match our long term intentions for the support (which it
> sounds like we need to discuss).
> 

I would suggest that it returns false.

> For post-2.0 discussion:
> 1.  What does returning true vs. returning false from an error parser mean?

Something like this:

  void IErrorParser.processLine(StateObject state);

> 2.  What does the order of the error parsers in the dialog box mean?
> The error parser manager appears to ignore the order.

It indicates the order the parserManager will call the error parsers.

> 3.  If the order is important, should the error parser manager be
> dynamically modifying the order - even for perceived performance
> reasons?

Exactly,  I would advocate to remove the dynamic stuff in the current code base(post-2.0).
It defies the purpose of allowing the clients to order the parser..
Say an ISV set a particular order because it needs some parser to be last ...

> 4.  If the order is important and performance is important, should the
> user have the option to say whether to specify the order or leave the
> order up to the error parser manager?

The point is that we(I) think the dynamic order and the short-circuit(stop the
other parsers from looking at the output)  are not usefull.

For example, some implementation wants to save the output build log to a
file or redirect it to another stream, to do this an ErrorParser to sniff the build stream
is added in the list of parser,  If a parser in the chain returns true, the others will be skip.
Not very usefull, all parsers should have a chance to peek at the stream.


This is one opinion 8-)




Back to the top