main.cc
changeset 596 4efb11e44065
parent 521 3127ddda2be2
child 746 c7219a37cc39
equal deleted inserted replaced
595:c41975a290ce 596:4efb11e44065
    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