1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
# include "compiledefines.h"
# include "types.t"
# include "system.h"
# include "comsupport.h"
# include "backendsupport.h"
/*
Utilities
=========
*/
# ifdef _WINDOWS_
# undef _WINDOWS_
# include <windows.h>
# define Debugger() DebugBreak();
# else
# define Debugger() { * (int *) NULL = 0; }
# endif
void
AssertionFailed (char *conditionString, char *file, int line)
{
FPrintF (StdError, "Error in backend: File %s, Line %d (%s)\n", file, line, conditionString);
# ifdef _WINDOWS_
{
static char error[200];
sprintf (error, "Error in backend: File %s, Line %d (%s)\nDebug ?", file, line, conditionString);
if (MessageBox (NULL,error,"AssertionFailed",MB_YESNO)==IDYES)
Debugger ();
}
#else
# ifdef _MAC_
{
FILE *f;
f=fopen ("AssertionFailedError","w");
if (f!=NULL){
FPrintF (f, "Error in backend: File %s, Line %d (%s)\n", file, line, conditionString);
fclose (f);
}
}
# endif
Debugger ();
#endif
} /* AssertionFailed */
void
fatal_backend_error (char *s)
{
FPrintF (StdError, "Error in backend: %s\n", s);
#ifdef _MAC_
{
FILE *f;
f=fopen ("AssertionFailedError","w");
if (f!=NULL){
FPrintF (f, "Error in backend: %s\n", s);
fclose (f);
}
}
#endif
Debugger ();
}
|