This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

invalid jumps into binding contour???


Can someone sched some light on this error message:

c++ -DHAVE_CONFIG_H -I/home/denys/Mozart/mozart/platform/emulator/libfd -I. -I/home/denys/Mozart/mozart/platform/emulator/libfd/.. -I..   -fno-exceptions -O3 -pipe -fstrict-aliasing -fomit-frame-pointer    -fpic -c -o taskintervals.lo.o /home/denys/Mozart/mozart/platform/emulator/libfd/taskintervals.cc && mv taskintervals.lo.o taskintervals.lo
/home/denys/Mozart/mozart/platform/emulator/sort.hh: In function `OZ_Return 
   sched_cumulativeTI(OZ_Term**)':
/home/denys/Mozart/mozart/platform/emulator/sort.hh:120: jump to `nopush' 
   invalidly jumps into binding contour
/home/denys/Mozart/mozart/platform/emulator/sort.hh:122: jump to `nopush' 
   invalidly jumps into binding contour

The corresponding code is:

template <class T,Bool(*lt)(const T&,const T&)>
inline
void quicksort(T * x, int l, int r) {
  QuickSortStack s;
  s.push(l,r);
  while (!s.isEmpty()) {
    s.pop(l,r);
  nopush:
    if (r-l <= QuickSortCutoff)
      continue;
    sort_swap(x[(l+r)/2],x[r-1]);
    sort_exchange<T,lt>(x[l],x[r-1]);
    sort_exchange<T,lt>(x[l],x[r]);
    sort_exchange<T,lt>(x[r-1],x[r]);
    int i = partition<T,lt>(x, l+1, r-1);
    if (i-l > r-i) {
      s.push(l,i-1); l=i+1; goto nopush;
    } else {
      s.push(i+1,r); r=i-1; goto nopush;
    }
  }
}

Thanks in advance,

-- 
Dr. Denys Duchier			Denys.Duchier@ps.uni-sb.de
Forschungsbereich Programmiersysteme	(Programming Systems Lab)
Universitaet des Saarlandes, Geb. 45	http://www.ps.uni-sb.de/~duchier
Postfach 15 11 50			Phone: +49 681 302 5618
66041 Saarbruecken, Germany		Fax:   +49 681 302 5615


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]