[project @ 2006-01-03 12:16:26 by simonmar]
[ghc-hetmet.git] / ghc / rts / RtsMessages.c
index b8fed78..9f36e2e 100644 (file)
@@ -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