> 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