unrecognized quad 41 with iter

bc177c7
Opened by Ralph Giles at 2010-07-22 19:11:47

The following code from the manual fails with rustboot 700e522d.

$ rustboot sum.rs && ./sum
E:Assembly error: unrecognized quad 41: [edi + -(0xc + <frame spill fixup>.msz)] =  [edi + -(0xc + <frame spill fixup>.msz)] add [esi + -(0x10 + <frame spill fixup>.msz)]

$ cat sum.rs 
iter range(int a, int b) -> int {
  check (a < b);

  let int i = a;
  while (i < b) {
    put i;
    i += 1;
  }
}

fn main() {
  let int sum = 0;
  for each (int x in range(0, 100)) {
    sum += x;
  }

  log sum;
}
  1. How embarrassing. Thanks for the report, I'll look into it.

    Graydon Hoare at 2010-07-17 18:00:21

  2. Fix mem op= mem bug in trans.ml (via not terribly good fix). Closed by c96634af4b17eb4c92df8c3b38e6ed74cfcf9628.

    Graydon Hoare at 2010-07-22 19:11:47