OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [gcc.c-torture/] [compile/] [980329-1.c] - Diff between revs 297 and 338

Only display areas with differences | Details | Blame | View Log

Rev 297 Rev 338
typedef __SIZE_TYPE__ size_t;
typedef __SIZE_TYPE__ size_t;
struct re_pattern_buffer
struct re_pattern_buffer
  {
  {
    unsigned char *buffer;
    unsigned char *buffer;
    unsigned long int used;
    unsigned long int used;
  };
  };
struct re_registers
struct re_registers
  {
  {
    int *start;
    int *start;
  };
  };
 
 
static const char **regstart, **regend;
static const char **regstart, **regend;
static const char **old_regend;
static const char **old_regend;
 
 
static int
static int
re_match_2_internal (struct re_pattern_buffer *bufp,
re_match_2_internal (struct re_pattern_buffer *bufp,
                     struct re_registers *regs)
                     struct re_registers *regs)
{
{
  unsigned char *p = bufp->buffer;
  unsigned char *p = bufp->buffer;
  unsigned char *pend = p + bufp->used;
  unsigned char *pend = p + bufp->used;
 
 
  for (;;)
  for (;;)
    {
    {
      int highest_active_reg = 1;
      int highest_active_reg = 1;
      if (bufp)
      if (bufp)
        {
        {
          int i;
          int i;
          for (i = 1;; i++)
          for (i = 1;; i++)
            regs->start[i] = 0;
            regs->start[i] = 0;
        }
        }
 
 
      switch ((unsigned int) *p++)
      switch ((unsigned int) *p++)
        {
        {
        case 1:
        case 1:
          {
          {
            unsigned char r = *p;
            unsigned char r = *p;
            if (r)
            if (r)
              highest_active_reg = r;
              highest_active_reg = r;
          }
          }
          if (p + 2 == pend)
          if (p + 2 == pend)
            {
            {
              char is_a_jump_n = 0;
              char is_a_jump_n = 0;
              int mcnt = 0;
              int mcnt = 0;
              unsigned char *p1;
              unsigned char *p1;
 
 
              p1 = p + 2;
              p1 = p + 2;
              switch (*p1++)
              switch (*p1++)
                {
                {
                case 2:
                case 2:
                  is_a_jump_n = 1;
                  is_a_jump_n = 1;
                case 1:
                case 1:
                  do { do { mcnt = *p1; } while (0); p1 += 2; } while (0);
                  do { do { mcnt = *p1; } while (0); p1 += 2; } while (0);
                  if (is_a_jump_n)
                  if (is_a_jump_n)
                    p1 = 0;
                    p1 = 0;
                }
                }
 
 
              if (mcnt && *p1 == 0)
              if (mcnt && *p1 == 0)
                {
                {
                  unsigned r;
                  unsigned r;
                  for (r = 0; r < (unsigned) *p + (unsigned) *(p + 1); r++)
                  for (r = 0; r < (unsigned) *p + (unsigned) *(p + 1); r++)
                    {
                    {
                      if (regend[0] >= regstart[r])
                      if (regend[0] >= regstart[r])
                        regend[r] = old_regend[r];
                        regend[r] = old_regend[r];
                    }
                    }
                  do { while (0 < highest_active_reg + 1) { } } while (0);
                  do { while (0 < highest_active_reg + 1) { } } while (0);
                }
                }
            }
            }
        }
        }
    }
    }
 
 
  return -1;
  return -1;
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.