Exemple #1
0
ffelab
ffelab_new (ffelabValue v)
{
  ffelab l;

  ++ffelab_num_news_;
  l = malloc_new_ks (ffe_pool_any_unit (), "FFELAB label", sizeof (*l));
  l->next = ffelab_list_;
  l->hook = FFECOM_labelNULL;
  l->value = v;
  l->firstref_line = ffewhere_line_unknown ();
  l->firstref_col = ffewhere_column_unknown ();
  l->doref_line = ffewhere_line_unknown ();
  l->doref_col = ffewhere_column_unknown ();
  l->definition_line = ffewhere_line_unknown ();
  l->definition_col = ffewhere_column_unknown ();
  l->type = FFELAB_typeUNKNOWN;
  ffelab_list_ = l;
  return l;
}
Exemple #2
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;
}