X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FRtsMessages.c;h=9f36e2e97d201393be5116bb79c601c49fb3f827;hb=a2a6d28ccbdbbf21a09b2975347f681755ddf7f0;hp=b8fed7803a877966351517d7b1f2a0c9c2644eab;hpb=ad455445e0c798e348a96a7a835c8d0ccf939e89;p=ghc-hetmet.git diff --git a/ghc/rts/RtsMessages.c b/ghc/rts/RtsMessages.c index b8fed78..9f36e2e 100644 --- a/ghc/rts/RtsMessages.c +++ b/ghc/rts/RtsMessages.c @@ -49,16 +49,7 @@ vbarf(char *s, va_list ap) void _assertFail(char *filename, unsigned int linenum) { - internalErrorBelch("ASSERTION FAILED: file %s, line %u\n", filename, linenum); - abort(); -} - -internalErrorBelch(char *s, ...) -{ - va_list ap; - va_start(ap,s); - (*fatalInternalErrorFn)(s,ap); - va_end(ap); + barf("ASSERTION FAILED: file %s, line %u\n", filename, linenum); } void @@ -123,21 +114,15 @@ rtsFatalInternalErrorFn(char *s, va_list ap) if (isGUIApp()) { char title[BUFSIZE], message[BUFSIZE]; - int r; - r = vsnprintf(title, BUFSIZE, "%s: internal error", prog_name); - if (r > 0 && r < BUFSIZE) { - strcpy(title, "internal error"); - } + snprintf(title, BUFSIZE, "%s: internal error", prog_name); + vsnprintf(message, BUFSIZE, s, ap); - r = vsnprintf(message, BUFSIZE, s, ap); - if (r > 0 && r < BUFSIZE) { - MessageBox(NULL /* hWnd */, - message, - title, - MB_OK | MB_ICONERROR | MB_TASKMODAL - ); - }; + MessageBox(NULL /* hWnd */, + message, + title, + MB_OK | MB_ICONERROR | MB_TASKMODAL + ); } else #endif @@ -150,11 +135,12 @@ rtsFatalInternalErrorFn(char *s, va_list ap) } vfprintf(stderr, s, ap); fprintf(stderr, "\n"); - fprintf(stderr, " Please report this as a bug to glasgow-haskell-bugs@haskell.org,\n or http://www.sourceforge.net/projects/ghc/\n"); + fprintf(stderr, " Please report this as a compiler bug. See:\n http://www.haskell.org/ghc/reportabug\n"); fflush(stderr); } - stg_exit(EXIT_INTERNAL_ERROR); + abort(); + // stg_exit(EXIT_INTERNAL_ERROR); } void