From b9ff48144498c9cc2b5f3fd6bd03391579bd24cd Mon Sep 17 00:00:00 2001 From: "Kaveh R. Ghazi" Date: Fri, 28 Jan 2000 16:34:00 +0000 Subject: [PATCH] diagnostic.c (build_message_string, [...]): Add ATTRIBUTE_PRINTF_*. * diagnostic.c (build_message_string, output_printf, line_wrapper_printf): Add ATTRIBUTE_PRINTF_*. (build_location_prefix): Fix non-literal format string. From-SVN: r31669 --- gcc/ChangeLog | 6 ++++++ gcc/diagnostic.c | 30 ++++++++++++++++++++---------- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0dc225fed65..0ed01230f79 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2000-01-28 Kaveh R. Ghazi + + * diagnostic.c (build_message_string, output_printf, + line_wrapper_printf): Add ATTRIBUTE_PRINTF_*. + (build_location_prefix): Fix non-literal format string. + 2000-01-27 Richard Henderson * alpha.md (trunctfsf2): New. 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. */ -- 2.30.2