diff --git a/src/interpreter.h b/src/interpreter.h index 9f26933c71ddadf19a3d966f19a74b4135268b13..9da06d84d38fcd87246a70d6779c1d4845b18d0a 100644 --- a/src/interpreter.h +++ b/src/interpreter.h @@ -1285,6 +1285,22 @@ static int eval_instruction(unsigned char *pc) CASE(F_CAST); f_cast(); break; + CASE(F_SOFT_CAST); +#ifdef PIKE_DEBUG + if (d_flag) { + /* FIXME: Perform a type-check here */ + /* Stack: type_string, value */ + if (d_flag > 1) { + struct pike_string *t = describe_type(sp[-2].u.string); + fprintf(stderr, "Soft cast to %s\n", t->str); + free_string(t); + } + } +#endif /* PIKE_DEBUG */ + stack_swap(); + pop_stack(); + break; + CASE(F_RANGE); o_range(); break; CASE(F_COPY_VALUE); {