summaryrefslogtreecommitdiff
path: root/gcc/diagnostic.c
diff options
context:
space:
mode:
authorghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>2000-01-28 16:34:00 +0000
committerghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>2000-01-28 16:34:00 +0000
commit76a75ed9c7f51bb4fe4734f14d5a766a0c344526 (patch)
tree97c01775857a42a4024e110809051cea97ee6677 /gcc/diagnostic.c
parent6d318c497ec8d924bba9b1281cea7d46ced57004 (diff)
downloadgcc-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.c30
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. */