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
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
}
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