summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/strgen/strgen.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/strgen/strgen.cpp b/src/strgen/strgen.cpp
index 0a9d4fe3b..b6eb880b9 100644
--- a/src/strgen/strgen.cpp
+++ b/src/strgen/strgen.cpp
@@ -138,9 +138,9 @@ static LangString *HashFind(const char *s)
}
#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 @@ static void CDECL strgen_warning(const char *s, ...)
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 @@ static void CDECL strgen_error(const char *s, ...)
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 @@ void NORETURN CDECL error(const char *s, ...)
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);