https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60736
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |ASSIGNED CC| |jakub at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org --- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 36757 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36757&action=edit gcc6-pr60736.patch open_file_failed is called from various spots, and often file->path is non-NULL and what should be used in diagnostics. So, I think the attached patch is better. I think there is another issue, cpp_errno is used either for the cases where the last argument is a string literal and in that case the message should be translated. Or it is used in files.c and the argument is some path name. But if the pathname or filename happens to be one that libcpp has translation for, cpp_errno should not translate it. >From quick look, it seems cpp_errno does not use _() around msgid, therefore it will never be translated even for the string literal cases when it should be translated. But let's leave that as a separate issue.