https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78501
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #4) > Even for Fortran and other non-C FEs I think ptrdiff_type_node isn't what > you expect it to be. Wouldn't it be better to use signed_type_for (type) as > the type instead (where type is the type of strlen's lhs, i.e. usually > size_t)? As ptrdiff_type_node is appearantly used (otherwise we'd not have the LTO variant) it should be a middle-end defined type (it's defined by the target via PTRDIFF_TYPE).