[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Bug target/33848] [4.2 Regression] reference to non-existent label at -O1 on mips/mipsel




------- Comment #6 from tbm at cyrius dot com  2007-10-22 20:35 -------
/* Testcase by Martin Michlmayr <tbm@cyrius.com> */

typedef struct erl_node_
{
  long *htop;
  long tracer_proc;
  long trace_flags;
  long freason;
}
Process;
int hibernate ()
{
    return 1;
}
int main ()
{
  Process *c_p = (void *) 0;
  register long x0 = ~(long) 0;
  long *reg = (void *) 0;
  long *HTOP = (void *) 0;
  long *E = (void *) 0;
  long *I = (void *) 0;
  long tmp_arg1 = (long) 0;
  static void *opcodes[] = {
    &&lb_allocate_heap_zero_III,
  };
lb_allocate_heap_zero_III:
  x0 = (*(long *) (char *) reg) + I[1];
  char *s;
  int len;
  long result;
  for (s = (char *) I[1]; len > 0; s--, len--)
  {
    HTOP[1] = result;
    result = (long) HTOP + 0x1;
    HTOP += 2;
  }
badarg:
  c_p->freason = 1;
  long timeout_value;
  if (((timeout_value & 0xF) == 1) && ((long) timeout_value >> 4) > 0)
  {
  }
  else if (timeout_value == 1)
    goto find_func_info;
  I = (long *) I[1];
  goto *(*I);
find_func_info:
  c_p->htop = HTOP;
  tmp_arg1 = x0;
  if (((tmp_arg1) & 0xF) == 1)
        goto badarg;

lb_rt:
  if ((c_p->tracer_proc != 0) && (c_p->trace_flags & 1))
  {
    long *cpp = (long *) E;
    for (;;)
      if (*((long *) *cpp) == (long) &&lb_rt) { }
      else if (*((long *) *cpp) == (long) &&find_func_info) { }
      else
        goto lb_rt;
    }
  if (hibernate ())
    goto find_func_info;
  return 0;
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33848

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



Reply to: