Branch: Tag:

2002-04-28

2002-04-28 04:48:19 by Martin Stjernholm <mast@lysator.liu.se>

Added test that shows a rather deep conflict between machine code that
updates pc relatively and opcodes using PIKE_FRAME_RETURN_INTERNAL.

Rev: src/testsuite.in:1.501

1: - test_true([["$Id: testsuite.in,v 1.500 2002/04/28 02:27:31 mast Exp $"]]); + test_true([["$Id: testsuite.in,v 1.501 2002/04/28 04:48:19 mast Exp $"]]);      cond([[all_constants()->_verify_internals]],   [[
1087:    }   ]])    + test_program([[// [bug 3060] +  void x (mixed val) +  { +  } +  +  class X +  { +  void create() {error ("foo\n");} // Line 8 +  } +  +  object rx = class {}(); +  +  int y() +  { +  x (rx->x); +  rx = X(); // Line 16 +  } +  +  int a() +  { +  mixed bt = catch (y())[1]; +  int ok = 0; +  foreach (reverse (bt), object ent) +  switch (functionp (ent[2]) && function_name (ent[2])) { +  case "create": if (ent[1] == 8) ok++; break; +  case "y": if (ent[1] == 16) ok++; break; +  } +  return ok == 2; +  } + ]]) +    dnl ----------------------------------------------------------------   dnl scopes and stuff   dnl ----------------------------------------------------------------