Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 594010
Collapse All | Expand All

(-)a/libguile/vm-i-system.c (-5 / +16 lines)
Lines 625-634 VM_DEFINE_INSTRUCTION (47, bind_optionals_shuffle, "bind-optionals/shuffle", 6, Link Here
625
  /* now shuffle up, from walk to ntotal */
625
  /* now shuffle up, from walk to ntotal */
626
  {
626
  {
627
    scm_t_ptrdiff nshuf = sp - walk + 1, i;
627
    scm_t_ptrdiff nshuf = sp - walk + 1, i;
628
    sp = (fp - 1) + ntotal + nshuf;
628
    /* check the value of nshuf to workaround ice ssa corruption */
629
    CHECK_OVERFLOW ();
629
    /* while compiling with -O -g */
630
    for (i = 0; i < nshuf; i++)
630
    if (nshuf > 0)
631
      sp[-i] = walk[nshuf-i-1];
631
    {
632
      sp = (fp - 1) + ntotal + nshuf;
633
      CHECK_OVERFLOW ();
634
      for (i = 0; i < nshuf; i++)
635
        sp[-i] = walk[nshuf-i-1];
636
    }
637
    else
638
    {
639
      sp = (fp - 1) + ntotal + nshuf;
640
      CHECK_OVERFLOW ();
641
      for (i = 0; i < nshuf; i++)
642
        sp[-i] = walk[nshuf-i-1];
643
    }
632
  }
644
  }
633
  /* and fill optionals & keyword args with SCM_UNDEFINED */
645
  /* and fill optionals & keyword args with SCM_UNDEFINED */
634
  while (walk <= (fp - 1) + ntotal)
646
  while (walk <= (fp - 1) + ntotal)
635
- 

Return to bug 594010