http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56094
--- Comment #9 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2013-01-24 18:39:18 UTC --- > During original gimplification, I can understand the OR_HERE (aka > input_location) part there, or in passes that maintain input_location. I thought gimplification happens after each whole function is read, how is input_location correct in that case? Moreover, how do optimization passes try to mantain input_location accurate? > force_gimple_operand* should temporarily set input_location to > UNKNOWN_LOCATION > and restore it back from a saved copy before returning. My fear is that this is basically delaying the inevitable, which is getting rid of input_location. At some moment, the saving/restoring of input_location in random points will start conflicting in unexpected ways and the whole thing will be unfixable without breaking something else.