X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRtsMessages.c;h=e2a30a613ffeada64cb11aa8e61c803190b196b5;hb=831e2ed684863c5e0203c9b32f8ceaca42493e95;hp=362b369f4fd1de99f2e1c0a2eefe72477e5ceabc;hpb=c9c5430453f73208fa5d516a39cbbdd784444441;p=ghc-hetmet.git diff --git a/rts/RtsMessages.c b/rts/RtsMessages.c index 362b369..e2a30a6 100644 --- a/rts/RtsMessages.c +++ b/rts/RtsMessages.c @@ -128,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) @@ -187,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); @@ -239,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"); }