This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Better GCC diagnostics
2008/8/20 Arnaud Charlet <charlet@adacore.com>:
>
> The way I did it, since I thought that adding a new location_t field in
> the expr struct would likely be a no-no (due to additional memory usage) is to
> use a hash table "on the side", and use macros (SET_EXPR_LOCATION2,
> GET_EXPR_LOCATION2) that are no-ops by default, and that populate the
> hash table when a given switch is enabled.
>
> I was planning to submit these changes at some later point, since this
> is still work in progress at this stage, but can work on submitting these
> earlier if this would help people in other contexts, and/or avoid duplicate
> work.
As far as I know nobody is working on adding more locations, so do as
you please. If I ever get the time, I would like to abstract our
line-map implementation within a "location_manager" object and API but
I don't think this conflicts directly with your work.
Would your implementation also handle two locations for tokens that
come from macro expansion?
> Note that my patch not only adds support for additional locations (and it
> even adds as much locations as needed for each argument of a function call),
> but also fixes column number information in several cases.
Those fixes should be submitted as soon as you find them, please.
Cheers,
Manuel.