changeset 14543:fa1aa376c1e3 draft

(svn r19114) -Change: [strgen] Modify the outputted format for MSVC builds of strgen so it also shows fatal errors in the 'error list' and it also counts them. (Fatal) errors are marked as warnings so a failing language file is not causing the complete compilation to fail.
author rubidium <rubidium@openttd.org>
date Fri, 12 Feb 2010 23:47:50 +0000
parents 7d2b798c1ad9
children 470ea0af854c
files src/strgen/strgen.cpp
diffstat 1 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/strgen/strgen.cpp
+++ b/src/strgen/strgen.cpp
@@ -138,9 +138,9 @@
 }
 
 #ifdef _MSC_VER
-# define LINE_NUM_FMT "(%d)"
+# define LINE_NUM_FMT(s) "%s (%d): warning: %s (" s ")\n"
 #else
-# define LINE_NUM_FMT ":%d"
+# define LINE_NUM_FMT(s) "%s: :%d: " s ": %s\n"
 #endif
 
 static void CDECL strgen_warning(const char *s, ...) WARN_FORMAT(1, 2);
@@ -152,7 +152,7 @@
 	va_start(va, s);
 	vsnprintf(buf, lengthof(buf), s, va);
 	va_end(va);
-	fprintf(stderr, "%s" LINE_NUM_FMT ": warning: %s\n", _file, _cur_line, buf);
+	fprintf(stderr, LINE_NUM_FMT("warning"), _file, _cur_line, buf);
 	_warnings++;
 }
 
@@ -165,7 +165,7 @@
 	va_start(va, s);
 	vsnprintf(buf, lengthof(buf), s, va);
 	va_end(va);
-	fprintf(stderr, "%s" LINE_NUM_FMT ": error: %s\n", _file, _cur_line, buf);
+	fprintf(stderr, LINE_NUM_FMT("error"), _file, _cur_line, buf);
 	_errors++;
 }
 
@@ -176,7 +176,10 @@
 	va_start(va, s);
 	vsnprintf(buf, lengthof(buf), s, va);
 	va_end(va);
-	fprintf(stderr, "%s" LINE_NUM_FMT ": FATAL: %s\n", _file, _cur_line, buf);
+	fprintf(stderr, LINE_NUM_FMT("FATAL"), _file, _cur_line, buf);
+#ifdef _MSC_VER
+	fprintf(stderr, LINE_NUM_FMT("warning"), _file, _cur_line, "language is not compiled");
+#endif
 	/* We were writing output to a file, remove it. */
 	if (_output_file != NULL) {
 		fclose(_output_file);