X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRtsMessages.c;h=e2a30a613ffeada64cb11aa8e61c803190b196b5;hb=831e2ed684863c5e0203c9b32f8ceaca42493e95;hp=53a910e7567d0366ce46b8c55b1c9f5c339367b1;hpb=ab1e183aa7801f9260a9cbb6edbd553cf8249b25;p=ghc-hetmet.git diff --git a/rts/RtsMessages.c b/rts/RtsMessages.c index 53a910e..e2a30a6 100644 --- a/rts/RtsMessages.c +++ b/rts/RtsMessages.c @@ -10,6 +10,8 @@ #include "Rts.h" #include +#include +#include #ifdef HAVE_WINDOWS_H #include @@ -126,7 +128,7 @@ isGUIApp(void) #define xstr(s) str(s) #define str(s) #s -void +void GNU_ATTRIBUTE(__noreturn__) rtsFatalInternalErrorFn(const char *s, va_list ap) { #if defined(cygwin32_HOST_OS) || defined (mingw32_HOST_OS) @@ -185,7 +187,7 @@ rtsErrorMsgFn(const char *s, va_list ap) #endif { /* don't fflush(stdout); WORKAROUND bug in Linux glibc */ - if (prog_argv != NULL && prog_name != NULL) { + if (prog_name != NULL) { fprintf(stderr, "%s: ", prog_name); } vfprintf(stderr, s, ap); @@ -237,7 +239,12 @@ rtsSysErrorMsgFn(const char *s, va_list ap) } vfprintf(stderr, s, ap); if (syserr) { +#if defined(cygwin32_HOST_OS) || defined (mingw32_HOST_OS) + // Win32 error messages have a terminating \n + fprintf(stderr, ": %s", syserr); +#else fprintf(stderr, ": %s\n", syserr); +#endif } else { fprintf(stderr, "\n"); }