/* Report error msg at l */ void verror_with_location(location l, const char *format, va_list args) { count_error(FALSE); report_error_function(l->filename); pfile_and_line(stderr, l); vfprintf(stderr, format, args); putc('\n', stderr); }
/* Report warning msg at l */ void vwarning_with_location(location l, const char *format, va_list args) { if (count_error(TRUE)) { report_error_function(l->filename); pfile_and_line(stderr, l); fprintf(stderr, "warning: "); vfprintf(stderr, format, args); putc('\n', stderr); } }
/* Report warning msg at current filename, lineno */ void vwarning(const char *format, va_list args) { if (current.lex.input) vwarning_with_location(¤t.lex.input->l, format, args); else if (error_location) vwarning_with_location(error_location, format, args); else if (count_error(TRUE)) { fprintf(stderr, "%s: warning: ", progname); vfprintf(stderr, format, args); putc('\n', stderr); } }
/* Report error msg at current filename, lineno */ void verror(const char *format, va_list args) { if (current.lex.input) verror_with_location(¤t.lex.input->l, format, args); else if (error_location) verror_with_location(error_location, format, args); else { count_error(FALSE); fprintf(stderr, "%s: ", progname); vfprintf(stderr, format, args); putc('\n', stderr); } }
bool ffebad_start_ (bool lex_override, ffebad errnum, ffebadSeverity sev, const char *msgid) { unsigned char i; if (ffebad_is_inhibited_ && !lex_override) { ffebad_is_temp_inhibited_ = TRUE; return FALSE; } if (errnum != FFEBAD) { ffebad_severity_ = ffebad_messages_[errnum].severity; ffebad_message_ = gettext (ffebad_messages_[errnum].message); } else { ffebad_severity_ = sev; ffebad_message_ = gettext (msgid); } switch (ffebad_severity_) { /* Tell toplev.c about this message. */ case FFEBAD_severityINFORMATIONAL: case FFEBAD_severityTRIVIAL: if (inhibit_warnings) { /* User wants no warnings. */ ffebad_is_temp_inhibited_ = TRUE; return FALSE; } /* Fall through. */ case FFEBAD_severityWARNING: case FFEBAD_severityPECULIAR: case FFEBAD_severityPEDANTIC: if ((ffebad_severity_ != FFEBAD_severityPEDANTIC) || !flag_pedantic_errors) { if (count_error (1) == 0) { /* User wants no warnings. */ ffebad_is_temp_inhibited_ = TRUE; return FALSE; } break; } /* Fall through (PEDANTIC && flag_pedantic_errors). */ case FFEBAD_severityFATAL: case FFEBAD_severityWEIRD: case FFEBAD_severitySEVERE: case FFEBAD_severityDISASTER: count_error (0); break; default: break; } ffebad_is_temp_inhibited_ = FALSE; ffebad_errnum_ = errnum; ffebad_index_ = 0; ffebad_places_ = 0; for (i = 0; i < FFEBAD_MAX_; ++i) { ffebad_string_[i] = NULL; ffebad_here_[i].line = ffewhere_line_unknown (); ffebad_here_[i].col = ffewhere_column_unknown (); } return TRUE; }