https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80014
--- Comment #2 from David Malcolm <dmalcolm at gcc dot gnu.org> --- The issue is that we have a range where caret == start, at the given location, but where finish == UNKNOWN_LOCATION, for some reason, and so this clause fires in diagnostic-show-locus.c:layout::layout: 797 if (finish.file != m_exploc.file) 798 continue; Hence layout.m_layout_ranges has no ranges, and hence layout::should_print_annotation_line_p returns false