[project @ 1998-12-02 13:17:09 by simonm]
[ghc-hetmet.git] / ghc / interpreter / errors.h
1 /* -*- mode: hugs-c; -*- */
2 /* --------------------------------------------------------------------------
3  * Error handling support functions
4  *
5  * Copyright (c) The University of Nottingham and Yale University, 1994-1997.
6  * All rights reserved. See NOTICE for details and conditions of use etc...
7  * Hugs version 1.4, December 1997
8  *
9  * $RCSfile: errors.h,v $
10  * $Revision: 1.2 $
11  * $Date: 1998/12/02 13:22:07 $
12  * ------------------------------------------------------------------------*/
13
14 extern Void internal   Args((String)) HUGS_noreturn;
15 extern Void fatal      Args((String)) HUGS_noreturn;
16
17 #if HUGS_FOR_WINDOWS
18 #define Hilite()         WinTextcolor(hWndText,RED);
19 #define Lolite()         WinTextcolor(hWndText,BLACK);
20 #define errorStream      stderr
21 #else
22 #define Hilite()         doNothing()
23 #define Lolite()         doNothing()
24 #define errorStream      stdout
25 #endif
26
27 #define ERRMSG(l)        Hilite(); errHead(l); FPrintf(errorStream,
28 #define EEND             ); Lolite(); errFail()
29 #define ETHEN            );
30 #define ERRTEXT          Hilite(); FPrintf(errorStream,
31 #define ERREXPR(e)       Hilite(); printExp(errorStream,e); Lolite()
32 #define ERRTYPE(e)       Hilite(); printType(errorStream,e); Lolite()
33 #define ERRCONTEXT(qs)   Hilite(); printContext(errorStream,qs); Lolite()
34 #define ERRPRED(pi)      Hilite(); printPred(errorStream,pi); Lolite()
35 #define ERRKIND(k)       Hilite(); printKind(errorStream,k); Lolite()
36 #define ERRKINDS(ks)     Hilite(); printKinds(errorStream,ks); Lolite()
37
38 extern Void errHead      Args((Int));              /* in main.c            */
39 extern Void errFail      Args((Void)) HUGS_noreturn;
40 extern Void errAbort     Args((Void));
41
42 extern sigProto(breakHandler);
43
44 #include "output.h"
45
46 /*-------------------------------------------------------------------------*/