http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56094
--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-01-25 11:29:13 UTC --- Created attachment 29272 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29272 gcc48-pr56094.patch input_location is used heavily in the gimplifier, gimplify_expr sets it from the expression being currently gimplified (if it has any), and for temporaries and their initializers that are created while gimplifying that stmt it is intentional to use the location of that expression. I've bootstrapped/regtested this patch on i686-linux (no ada) so far, the lex.c hunk is to avoid ICEs when e.g. tree-parloops.c calls the make_type langhook (but there are other callers of that) with input_location of UNKNOWN_LOCATION. I was surprised there weren't regressions, given that input_location is used implicitly e.g. by all error/warning calls, unless they supply their own location.