diff options
author | ghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-01-28 16:34:00 +0000 |
---|---|---|
committer | ghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-01-28 16:34:00 +0000 |
commit | 76a75ed9c7f51bb4fe4734f14d5a766a0c344526 (patch) | |
tree | 97c01775857a42a4024e110809051cea97ee6677 /gcc/diagnostic.c | |
parent | 6d318c497ec8d924bba9b1281cea7d46ced57004 (diff) | |
download | gcc-76a75ed9c7f51bb4fe4734f14d5a766a0c344526.tar.gz |
* diagnostic.c (build_message_string, output_printf,
line_wrapper_printf): Add ATTRIBUTE_PRINTF_*.
(build_location_prefix): Fix non-literal format string.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31669 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/diagnostic.c')
-rw-r--r-- | gcc/diagnostic.c | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c index 175151bac6c..97ec8c00d06 100644 --- a/gcc/diagnostic.c +++ b/gcc/diagnostic.c @@ -63,12 +63,15 @@ static void output_append PARAMS ((struct output_buffer *, const char *, static void output_puts PARAMS ((struct output_buffer *, const char *)); static void dump_output PARAMS ((struct output_buffer *, FILE *)); static const char *vbuild_message_string PARAMS ((const char *, va_list)); -static const char *build_message_string PARAMS ((const char *, ...)); +static const char *build_message_string PARAMS ((const char *, ...)) + ATTRIBUTE_PRINTF_1; static const char *build_location_prefix PARAMS ((const char *, int, int)); static void voutput_notice PARAMS ((struct output_buffer *, const char *, va_list)); -static void output_printf PARAMS ((struct output_buffer *, const char *, ...)); -static void line_wrapper_printf PARAMS ((FILE *, const char *, ...)); +static void output_printf PARAMS ((struct output_buffer *, const char *, ...)) + ATTRIBUTE_PRINTF_2; +static void line_wrapper_printf PARAMS ((FILE *, const char *, ...)) + ATTRIBUTE_PRINTF_2; static void vline_wrapper_message_with_location PARAMS ((const char *, int, int, const char *, va_list)); @@ -315,13 +318,20 @@ build_location_prefix (file, line, warn) int line; int warn; { - const char *fmt = file - ? (warn ? "%s:%d: warning: " : "%s:%d: ") - : (warn ? "%s: warning: " : "%s: "); - - return file - ? build_message_string (fmt, file, line) - : build_message_string (fmt, progname); + if (file) + { + if (warn) + return build_message_string ("%s:%d: warning: ", file, line); + else + return build_message_string ("%s:%d: ", file, line); + } + else + { + if (warn) + return build_message_string ("%s: warning: ", progname); + else + return build_message_string ("%s: ", progname); + } } /* Format a MESSAGE into BUFFER. Automatically wrap lines. */ |