aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/diagnostic.c34
2 files changed, 20 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 239331c..10d1df8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2002-06-07 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * diagnostic.c (diagnostic_build_prefix): Tidy.
+
2002-06-07 Neil Booth <neil@daikokuya.demon.co.uk>
* cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN,
diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c
index 2669da1..54f4911 100644
--- a/gcc/diagnostic.c
+++ b/gcc/diagnostic.c
@@ -790,24 +790,22 @@ char *
diagnostic_build_prefix (diagnostic)
diagnostic_info *diagnostic;
{
- if (diagnostic->location.file)
- {
- if (diagnostic->kind == DK_WARNING)
- return build_message_string (_("%s:%d: warning: "),
- diagnostic->location.file,
- diagnostic->location.line);
- else
- return build_message_string ("%s:%d: ",
- diagnostic->location.file,
- diagnostic->location.line);
- }
- else
- {
- if (diagnostic->kind == DK_WARNING)
- return build_message_string (_("%s: warning: "), progname);
- else
- return build_message_string ("%s: ", progname);
- }
+ static const char *diagnostic_kind_text[] = {
+#define DEFINE_DIAGNOSTIC_KIND(K, T) _(T),
+#include "diagnostic.def"
+#undef DEFINE_DIAGNOSTIC_KIND
+ "must-not-happen"
+ };
+ if (diagnostic->kind >= DK_LAST_DIAGNOSTIC_KIND)
+ abort();
+
+ return diagnostic->location.file
+ ? build_message_string ("%s:%d: %s",
+ diagnostic->location.file,
+ diagnostic->location.line,
+ diagnostic_kind_text[diagnostic->kind])
+ : build_message_string ("%s: %s", progname,
+ diagnostic_kind_text[diagnostic->kind]);
}
/* Report a diagnostic MESSAGE at the declaration DECL.