This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Better GCC diagnostics


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]