equal
deleted
inserted
replaced
78 |
78 |
79 #ifndef HGVERSION |
79 #ifndef HGVERSION |
80 #define HGVERSION "" |
80 #define HGVERSION "" |
81 #endif |
81 #endif |
82 |
82 |
83 #define ERROR error_exit(__FILE__,__LINE__) |
83 #include "main.hh" // symbol_c type |
84 void error_exit(const char *file_name, int line_no) { |
84 #include <stdarg.h> // required for va_start(), va_list |
85 std::cerr << "\nInternal compiler error in file " << file_name |
85 |
86 << " at line " << line_no << "\n"; |
86 void error_exit(const char *file_name, int line_no, const char *errmsg, ...) { |
87 // if (msg != NULL) std::cerr << message << "\n\n"; |
87 va_list argptr; |
|
88 va_start(argptr, errmsg); /* second argument is last fixed pamater of error_exit() */ |
|
89 |
|
90 fprintf(stderr, "\nInternal compiler error in file %s at line %d", file_name, line_no); |
|
91 if (errmsg != NULL) { |
|
92 fprintf(stderr, ": "); |
|
93 vfprintf(stderr, errmsg, argptr); |
|
94 } else { |
|
95 fprintf(stderr, "."); |
|
96 } |
|
97 fprintf(stderr, "\n"); |
|
98 va_end(argptr); |
|
99 |
88 exit(EXIT_FAILURE); |
100 exit(EXIT_FAILURE); |
89 } |
101 } |
90 |
102 |
91 |
103 |
92 |
104 |