diff options
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 175151b..97ec8c0 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. */ |
