From 55d11fae9cb94c24468a776e7d6860e2623917f4 Mon Sep 17 00:00:00 2001 From: jakub Date: Thu, 19 Nov 2015 08:27:12 +0000 Subject: PR preprocessor/60736 * include/cpplib.h (cpp_errno_filename): New prototype. * errors.c (cpp_errno): Don't handle msgid "" specially, use _(msgid) instead of msgid as argument to cpp_error. (cpp_errno_filename): New function. * files.c (read_file_guts): Use cpp_errno_filename instead of cpp_errno. (open_file_failed): Likewise. Use file->name if file->path is NULL in diagnostics. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230591 138bc75d-0d04-0410-961f-82ee72b054a4 --- libcpp/errors.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'libcpp/errors.c') diff --git a/libcpp/errors.c b/libcpp/errors.c index 8790e10f5c88..c27a417e8860 100644 --- a/libcpp/errors.c +++ b/libcpp/errors.c @@ -230,8 +230,18 @@ cpp_warning_with_line_syshdr (cpp_reader *pfile, int reason, bool cpp_errno (cpp_reader *pfile, int level, const char *msgid) { - if (msgid[0] == '\0') - msgid = _("stdout"); + return cpp_error (pfile, level, "%s: %s", _(msgid), xstrerror (errno)); +} + +/* Print a warning or error, depending on the value of LEVEL. Include + information from errno. Unlike cpp_errno, the argument is a filename + that is not localized, but "" is replaced with localized "stdout". */ + +bool +cpp_errno_filename (cpp_reader *pfile, int level, const char *filename) +{ + if (filename[0] == '\0') + filename = _("stdout"); - return cpp_error (pfile, level, "%s: %s", msgid, xstrerror (errno)); + return cpp_error (pfile, level, "%s: %s", filename, xstrerror (errno)); } -- cgit v1.2.3