https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94029
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 48053 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48053&action=edit gcc10-pr94029.patch The problem is that C FE finish_function uses input_location as cfun->function_end_locus, but input_location isn't really updated very often in the C FE anymore, mostly in the line change hooks but that doesn't trigger here because the macro arguments span across newline. So, either like in the completely untested patch we can update input_location somewhat more often, or we'd need to propagate the location_t of the closing } from c_parser_compound_statement_nostart to the callers.