https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94230

--- Comment #6 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
I'm not sure this has a changed a lot "recently"; I did 2-3 years ago IIRC.

The warning occurs when we have location_t > LINE_MAP_MAX_LOCATION_WITH_COLS
which means that we've run out of values for expressing locations.

If you have a huge workload, one possible workaround would be to disable range
tracking, perhaps tweaking line_table->default_range_bits, which would give you
a bit more "headroom".  IIRC we don't currently expose a way to do this, and
probably some extra code would be needed.  It's currently hardcoded to 5.

Perhaps some kind of -fno-location-ranges?  It could either:
(a) don't attempt to store location ranges  (would probably have to disable
e.g. fix-it hints)
(b) set line_table->default_range_bits to 0, so that all ranges have to go to
the ad-hoc table, but buying space for more locations.

I'm not sure if either of these are good ideas though.

Reply via email to