https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69558
--- Comment #10 from David Malcolm <dmalcolm at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #3) > Well, that one has been introduced in r232893, while this one far earlier. They could be symptoms of the same problem though. Quoting myself from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69543#c2 > linemap_compare_locations does the right thing if passed a pair of ordinary > locations, or if both locations are within the same macro expansion. > > It generates nonsensical results if one of the locations is in a macro map, > which is what's happening [in PR 69543] (the location of the _Pragma, > after r232893) ...and r228049 may have exposed the same issue for this PR. The ultimate right fix (for both) may be to fix linemap_compare_locations to cope with macro locations.