> Would your implementation also handle two locations for tokens that
> come from macro expansion?

macro expansion are tricky to handle as far as I could see, so currently
this is not handled. It's tricky because some locations are "real" in
the source, and some are "virtual" from the macro.

Consider for example:

#define PLUS(a) ((a) + global_var)

when in the source you have:

source:  PLUS (x)
column:  1   5 7

you would like to have a location associated with 'x' ('a' in the macro),
pointing to column 7, and not to e.g. column 1 as done currently.

On the other hands, the implicit reference to 'global_var' is what I
call "virtual", and I guess the closest approximation in terms of
location in the original source would be 'column 7' as well, assuming
we want to represent it.

> Those fixes should be submitted as soon as you find them, please.

Sure, some clean ups are still needed, but submitted them as soon as
practical is part of the plans (my work is based on gcc trunk, so at least
there's no issue of forward porting my changes).

Thanks for your feedback,

Arno

Reply via email to