coan 4.2.4
|
#include "state_utils.h"
#include "hash_include.h"
#include "directives_tally.h"
#include "memory.h"
#include <stdarg.h>
Go to the source code of this file.
Enumerations | |
enum | reason_code_t { MSGCLASS_SHIFT = 11, ISSUE_MASK = (1 << MSGCLASS_SHIFT) - 1, MSGCLASS_NONE = 0 << MSGCLASS_SHIFT, MSGCLASS_PROGRESS = 1 << MSGCLASS_SHIFT, MSGCLASS_INFO = 2 << MSGCLASS_SHIFT, MSGCLASS_WARNING = 4 << MSGCLASS_SHIFT, MSGCLASS_ERROR = 8 << MSGCLASS_SHIFT, MSGCLASS_ABEND = 16 << MSGCLASS_SHIFT, MSGCLASS_SUMMARY = 32 << MSGCLASS_SHIFT, MSGCLASS_MASK = 255 << MSGCLASS_SHIFT, MSGSEVERITY_MASK = MSGCLASS_MASK & ~MSGCLASS_SUMMARY, MSGEVENT_MASK = MSGSEVERITY_MASK & ~MSGCLASS_PROGRESS, EVENT_SUMMARY_MIN = 1, EVENT_SUMMARY_DROPPED_LINES = 1 | MSGCLASS_INFO | MSGCLASS_SUMMARY, EVENT_SUMMARY_CHANGED_LINES = 2 | MSGCLASS_INFO | MSGCLASS_SUMMARY, EVENT_SUMMARY_ERRORED_LINES = 4 | MSGCLASS_WARNING | MSGCLASS_SUMMARY, EVENT_SUMMARY_ERROR_OUTPUT = 8 | MSGCLASS_WARNING | MSGCLASS_SUMMARY, EVENT_SUMMARY_MAX = 16, EVENT_SUMMARY_MASK = EVENT_SUMMARY_MAX - 1, PROGRESS_SHIFT = 4, PROGRESS_PROCESSING_FILE = (45 << PROGRESS_SHIFT) | MSGCLASS_PROGRESS, PROGRESS_ENTERING_DIR = (46 << PROGRESS_SHIFT) | MSGCLASS_PROGRESS, PROGRESS_LEAVING_DIR = (47 << PROGRESS_SHIFT) | MSGCLASS_PROGRESS, PROGRESS_BUILDING_TREE = (49 << PROGRESS_SHIFT) | MSGCLASS_PROGRESS, PROGRESS_SEARCHING_DIR = (50 << PROGRESS_SHIFT) | MSGCLASS_PROGRESS, PROGRESS_ADDED_FILE = (51 << PROGRESS_SHIFT) | MSGCLASS_PROGRESS, PROGRESS_ADDED_DIR = (52 << PROGRESS_SHIFT) | MSGCLASS_PROGRESS, PROGRESS_FILE_TALLY = (53 << PROGRESS_SHIFT) | MSGCLASS_PROGRESS, PROGRESS_GOT_OPTIONS = (54 << PROGRESS_SHIFT) | MSGCLASS_PROGRESS, PROGRESS_SUMMARY_SHIFT = 4, PROGRESS_SUMMARY_FILES_REACHED, PROGRESS_SUMMARY_FILES_DROPPED, PROGRESS_SUMMARY_ALL_DONE, GRIPE_SHIFT = 4, GRIPE_DUPLICATE_MASK = (27 << GRIPE_SHIFT) | MSGCLASS_INFO, GRIPE_SYMLINK = (48 << GRIPE_SHIFT) | MSGCLASS_INFO, GRIPE_STRAIGHTENED_LINE = (12 << GRIPE_SHIFT) | MSGCLASS_INFO, GRIPE_REDUNDANT_OPTION = (49 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_DUPLICATE_ARGS = (1 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_DELETED_CONTRADICTION = (2 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_COMMENTED_CONTRADICTION = (3 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_ERRORED_CONTRADICTION = (4 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_DIFFERING_REDEF = (76 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_UNDEFING_DEFINED = (77 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_UNCONDITIONAL_ERROR_INPUT = (5 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_UNCONDITIONAL_ERROR_OUTPUT = (6 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_GARBAGE_AFTER_DIRECTIVE = (7 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_MISSING_EOF_NEWLINE = (18 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_CIRCULAR_SYM_DEF = (28 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_VERBOSE_ONLY = (29 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_ZERO_DIVIDE = (38 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_DIR_IGNORED = (41 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_EMPTY_SYMBOL = (58 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_UNKNOWN_DIRECTIVE = (60 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_INVALID_INCLUDE = (61 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_STRAY_ESCAPE = (62 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_FUNCTION_LIKE_MACRO_EXPANSION = (63 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_INT_OVERFLOW = (64 << GRIPE_SHIFT | MSGCLASS_WARNING), GRIPE_UNCLOSED_QUOTE = (65 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_NEGATIVE_SHIFT = (66 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_FORCED_UNSIGNED = (67 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_SIGN_CHANGED = (68 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_SHIFT_OVERFLOW = (69 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_CHAR_CONSTANT_TOO_LONG = (70 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_MULITBYTE_CHAR_CONSTANT = (71 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_TRANSIENT_SYMBOL_ADDED = (73 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_INSOURCE_FUNCTION_LIKE_MACRO_DEFINITION = (74 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_NO_SYMS = (75 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_BROKEN_SYMLINK = (79 << GRIPE_SHIFT) | MSGCLASS_WARNING, GRIPE_ORPHAN_ELIF = (8 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_ORPHAN_ELSE = (9 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_ORPHAN_ENDIF = (10 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_EOF_TOO_SOON = (11 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_EOF_IN_COMMENT = (13 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_EOF_IN_QUOTE = (14 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_NOTHING_TO_DO = (15 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_ONE_FILE_ONLY = (16 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_NEWLINE_IN_QUOTE = (17 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_INVALID_ARGS = (19 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_USAGE_ERROR = (20 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_TOO_DEEP = (21 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_MULTIPLE_ARGFILES = (31 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_GARBAGE_ARG = (32 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_NOT_IDENTIFIER = (33 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_UNBALANCED_PAREN = (59 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_GLOBAL_FUNCTION_LIKE_MACRO_DEFINITION = (72 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_IF_WITHOUT_COND = (78 << GRIPE_SHIFT) | MSGCLASS_ERROR, GRIPE_CANT_OPEN_INPUT = (22 << GRIPE_SHIFT) | MSGCLASS_ABEND, GRIPE_OUT_OF_MEMORY = (23 << GRIPE_SHIFT) | MSGCLASS_ABEND, GRIPE_FILENAME_TOO_LONG = (24 << GRIPE_SHIFT) | MSGCLASS_ABEND, GRIPE_EOF_IN_FILENAME = (25 << GRIPE_SHIFT) | MSGCLASS_ABEND, GRIPE_CONFUSED = (26 << GRIPE_SHIFT) | MSGCLASS_ABEND, GRIPE_CANT_READ_INPUT = (30 << GRIPE_SHIFT) | MSGCLASS_ABEND, GRIPE_CANT_WRITE_FILE = (39 << GRIPE_SHIFT) | MSGCLASS_ABEND, GRIPE_NO_FILE = (40 << GRIPE_SHIFT) | MSGCLASS_ABEND, GRIPE_ILLEGAL_FILENAME = (34 << GRIPE_SHIFT) | MSGCLASS_ABEND, GRIPE_CANT_DELETE_FILE = (35 << GRIPE_SHIFT) | MSGCLASS_ABEND, GRIPE_CANT_RENAME_FILE = (36 << GRIPE_SHIFT) | MSGCLASS_ABEND, GRIPE_NO_TEMPFILE = (37 << GRIPE_SHIFT) | MSGCLASS_ABEND, GRIPE_CANT_OPEN_DIR = (42 << GRIPE_SHIFT) | MSGCLASS_ABEND, GRIPE_CANT_READ_DIR = (43 << GRIPE_SHIFT) | MSGCLASS_ABEND } |
enum | dbg_code_t { DBG_1 = 1, DBG_2, DBG_3, DBG_4, DBG_5, DBG_6, DBG_8, DBG_7, DBG_9, DBG_10, DBG_11, DBG_12, DBG_13, DBG_14, DBG_15, DBG_16, DBG_17, DBG_18, DBG_19, DBG_20, DBG_21, DBG_22 } |
Functions | |
void | set_exit_flags (int bits, bool set) |
int | get_exit_flags (int bits) |
int | exitcode (void) |
size_t | line_len (char const *str) |
void | flatten_line (char *line) |
void | report (reason_code_t reason, heap_str *buf, const char *format,...) |
void | parse_error (int reason, const char *format,...) |
void | give_up_confused (void) |
void | vbail (int reason, const char *msg, va_list argp) |
void | bail (int retcode, const char *format,...) |
void | debugging (bool on) |
void | debug (dbg_code_t how,...) |
void | exit_diagnostics (void) |
void | orphan_elif (void) |
void | orphan_else (void) |
void | orphan_endif (void) |
void | early_eof (void) |
void | processing_file (char const *filename) |
void | entering_dir (char const *dirname) |
void | leaving_dir (char const *dirname) |
size_t | format_output (void *dest, int *buflen, int *startoff, char const *format,...) |
heap_str | concatenate (size_t count, char *strs[], int punctch) |
void | report_symbol (symbol_h sym) |
void | report_include (hash_include_const_h inc_arg) |
void | report_directive (canonical_string_const_h cl, directive_type_t directive_type) |
char * | format_int (int_spec_t const *int_spec) |
void | report_initor (void) |
void | report_finitor (void) |
This file provides the Report component interface
Definition in file report.h.