diff options
Diffstat (limited to 'src/common.cc')
-rw-r--r-- | src/common.cc | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/src/common.cc b/src/common.cc index aca5b78d..72198f8c 100644 --- a/src/common.cc +++ b/src/common.cc @@ -164,92 +164,6 @@ Result read_file(const char* filename, char** out_data, size_t* out_size) { return Result::Ok; } -static void print_carets(FILE* out, - size_t num_spaces, - size_t num_carets, - size_t max_line) { - /* print the caret */ - char* carets = static_cast<char*>(alloca(max_line)); - memset(carets, '^', max_line); - if (num_carets > max_line - num_spaces) - num_carets = max_line - num_spaces; - /* always print at least one caret */ - if (num_carets == 0) - num_carets = 1; - fprintf(out, "%*s%.*s\n", static_cast<int>(num_spaces), "", - static_cast<int>(num_carets), carets); -} - -static void print_source_error(FILE* out, - const Location* loc, - const char* error, - const char* source_line, - size_t source_line_length, - size_t source_line_column_offset) { - fprintf(out, "%s:%d:%d: %s\n", loc->filename, loc->line, loc->first_column, - error); - if (source_line && source_line_length > 0) { - fprintf(out, "%s\n", source_line); - size_t num_spaces = (loc->first_column - 1) - source_line_column_offset; - size_t num_carets = loc->last_column - loc->first_column; - print_carets(out, num_spaces, num_carets, source_line_length); - } -} - -static void print_error_header(FILE* out, DefaultErrorHandlerInfo* info) { - if (info && info->header) { - switch (info->print_header) { - case PrintErrorHeader::Never: - break; - - case PrintErrorHeader::Once: - info->print_header = PrintErrorHeader::Never; - /* Fallthrough. */ - - case PrintErrorHeader::Always: - fprintf(out, "%s:\n", info->header); - break; - } - /* If there's a header, indent the following message. */ - fprintf(out, " "); - } -} - -static FILE* get_default_error_handler_info_output_file( - DefaultErrorHandlerInfo* info) { - return info && info->out_file ? info->out_file : stderr; -} - -bool default_source_error_callback(const Location* loc, - const char* error, - const char* source_line, - size_t source_line_length, - size_t source_line_column_offset, - void* user_data) { - DefaultErrorHandlerInfo* info = - static_cast<DefaultErrorHandlerInfo*>(user_data); - FILE* out = get_default_error_handler_info_output_file(info); - print_error_header(out, info); - print_source_error(out, loc, error, source_line, source_line_length, - source_line_column_offset); - return true; -} - -bool default_binary_error_callback(uint32_t offset, - const char* error, - void* user_data) { - DefaultErrorHandlerInfo* info = - static_cast<DefaultErrorHandlerInfo*>(user_data); - FILE* out = get_default_error_handler_info_output_file(info); - print_error_header(out, info); - if (offset == WABT_UNKNOWN_OFFSET) - fprintf(out, "error: %s\n", error); - else - fprintf(out, "error: @0x%08x: %s\n", offset, error); - fflush(out); - return true; -} - void init_stdio() { #if COMPILER_IS_MSVC int result = _setmode(_fileno(stdout), _O_BINARY); |