On 05/16/2012 01:15 PM, Manuel López-Ibáñez wrote:
My proposal is to assert when checking is enabled (gcc_checking_assert instead of gcc_assert) and degrade gracefully when not (use input_location if given an UNKNOWN_LOCATION).
That makes sense if we want to require the front end to move to explicit locations everywhere at once, but prevents a gradual transition. Currently diagnostics just use input_location. Paolo's patch passes in explicit locations to a bunch of functions, so now we can use those in diagnostics. But if for some reason we pass UNKNOWN_LOCATION in because some part of the compiler hasn't been updated yet, we get an ICE instead of the merely inaccurate location we had before.
Jason