equal
deleted
inserted
replaced
46 #include <stdlib.h> |
46 #include <stdlib.h> |
47 |
47 |
48 #include "stage4.hh" |
48 #include "stage4.hh" |
49 |
49 |
50 |
50 |
51 |
51 #define FIRST_(symbol1, symbol2) (((symbol1)->first_order < (symbol2)->first_order) ? (symbol1) : (symbol2)) |
|
52 #define LAST_(symbol1, symbol2) (((symbol1)->last_order > (symbol2)->last_order) ? (symbol1) : (symbol2)) |
|
53 #include <stdarg.h> |
|
54 |
|
55 void stage4err(const char *stage4_generator_id, symbol_c *symbol1, symbol_c *symbol2, const char *errmsg, ...) { |
|
56 va_list argptr; |
|
57 va_start(argptr, errmsg); /* second argument is last fixed pamater of stage4err() */ |
|
58 |
|
59 fprintf(stderr, "%s:%d-%d..%d-%d: error %s: ", |
|
60 FIRST_(symbol1,symbol2)->first_file, FIRST_(symbol1,symbol2)->first_line, FIRST_(symbol1,symbol2)->first_column, |
|
61 LAST_(symbol1,symbol2) ->last_line, LAST_(symbol1,symbol2) ->last_column, |
|
62 stage4_generator_id); |
|
63 vfprintf(stderr, errmsg, argptr); |
|
64 fprintf(stderr, "\n"); |
|
65 // error_count++; |
|
66 va_end(argptr); |
|
67 } |
52 |
68 |
53 |
69 |
54 |
70 |
55 stage4out_c::stage4out_c(std::string indent_level): |
71 stage4out_c::stage4out_c(std::string indent_level): |
56 m_file(NULL) { |
72 m_file(NULL) { |