#define Perl_pp_i_postinc Perl_pp_postinc
#define Perl_pp_i_postdec Perl_pp_postdec
+PERL_PPDEF(Perl_unimplemented_op)
+
START_EXTERN_C
#define OP_NAME(o) ((o)->op_type == OP_CUSTOM ? custom_op_name(o) : \
MEMBER_TO_FPTR(Perl_pp_padsv),
MEMBER_TO_FPTR(Perl_pp_padav),
MEMBER_TO_FPTR(Perl_pp_padhv),
- MEMBER_TO_FPTR(Perl_pp_padany),
+ MEMBER_TO_FPTR(Perl_unimplemented_op), /* Perl_pp_padany */
MEMBER_TO_FPTR(Perl_pp_pushre),
MEMBER_TO_FPTR(Perl_pp_rv2gv),
MEMBER_TO_FPTR(Perl_pp_rv2sv),
MEMBER_TO_FPTR(Perl_pp_reverse),
MEMBER_TO_FPTR(Perl_pp_grepstart),
MEMBER_TO_FPTR(Perl_pp_grepwhile),
- MEMBER_TO_FPTR(Perl_pp_mapstart),
+ MEMBER_TO_FPTR(Perl_unimplemented_op), /* Perl_pp_mapstart */
MEMBER_TO_FPTR(Perl_pp_mapwhile),
MEMBER_TO_FPTR(Perl_pp_range),
MEMBER_TO_FPTR(Perl_pp_flip),
MEMBER_TO_FPTR(Perl_pp_getlogin),
MEMBER_TO_FPTR(Perl_pp_syscall),
MEMBER_TO_FPTR(Perl_pp_lock),
- MEMBER_TO_FPTR(Perl_pp_threadsv),
+ MEMBER_TO_FPTR(Perl_unimplemented_op), /* Perl_pp_threadsv */
MEMBER_TO_FPTR(Perl_pp_setstate),
MEMBER_TO_FPTR(Perl_pp_method_named),
MEMBER_TO_FPTR(Perl_pp_dor),
# Format is "this function" => "does these op names"
my @raw_alias = (
Perl_do_kv => [qw( keys values )],
- );
+ Perl_unimplemented_op => [qw(padany threadsv mapstart)],
+ );
while (my ($func, $names) = splice @raw_alias, 0, 2) {
$alias{$_} = $func for @$names;
#define Perl_pp_i_postinc Perl_pp_postinc
#define Perl_pp_i_postdec Perl_pp_postdec
+PERL_PPDEF(Perl_unimplemented_op)
+
END
print ON <<"END";
(P) Something requested a negative number of bytes of malloc.
-=item panic: mapstart
-
-(P) The compiler is screwed up with respect to the map() function.
-
=item panic: memory wrap
(P) Something tried to allocate more memory than possible.
(P) The compiler attempted to do a goto, or something weird like that.
+=item panic: unimplemented op %s (#%d) called
+
+(P) The compiler is screwed up and attempted to use an op that isn't permitted
+at run time.
+
=item panic: utf16_to_utf8: odd bytelen
(P) Something tried to call utf16_to_utf8 with an odd (as opposed