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.