Exemplo n.º 1
0
/* 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);
}
Exemplo n.º 2
0
/* 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);
    }
}
Exemplo n.º 3
0
/* Report warning msg at current filename, lineno */
void vwarning(const char *format, va_list args)
{
  if (current.lex.input)
    vwarning_with_location(&current.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); 
   }
}
Exemplo n.º 4
0
/* Report error msg at current filename, lineno */
void verror(const char *format, va_list args)
{
  if (current.lex.input)
    verror_with_location(&current.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); 
   }
}
Exemplo n.º 5
0
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;
}