X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=opcode.h;h=6789546b1987e650ac6386de60f96980fcc8e5a4;hb=2a49f0f5dac6a94dc40827858cb5adb7ba8941cd;hp=5ebe99ff54cd007ff4c22a8d2e50f23727c9f176;hpb=0d863452f5cac86322a90184dc68dbf446006ed7;p=p5sagit%2Fp5-mst-13.2.git diff --git a/opcode.h b/opcode.h index 5ebe99f..6789546 100644 --- a/opcode.h +++ b/opcode.h @@ -3,7 +3,7 @@ * opcode.h * * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, - * 2000, 2001, 2002, 2003, 2004, 2005 by Larry Wall and others + * 2000, 2001, 2002, 2003, 2004, 2005, 2006 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -774,13 +774,16 @@ END_EXTERN_C START_EXTERN_C #ifdef PERL_GLOBAL_STRUCT_INIT +# define PERL_PPADDR_INITED static const Perl_ppaddr_t Gppaddr[] #else # ifndef PERL_GLOBAL_STRUCT +# define PERL_PPADDR_INITED EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ # endif #endif /* PERL_GLOBAL_STRUCT */ #if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT) +# define PERL_PPADDR_INITED = { MEMBER_TO_FPTR(Perl_pp_null), MEMBER_TO_FPTR(Perl_pp_stub), @@ -874,7 +877,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ MEMBER_TO_FPTR(Perl_pp_sne), MEMBER_TO_FPTR(Perl_pp_scmp), MEMBER_TO_FPTR(Perl_pp_bit_and), - MEMBER_TO_FPTR(Perl_pp_bit_xor), + MEMBER_TO_FPTR(Perl_pp_bit_or), /* Perl_pp_bit_xor */ MEMBER_TO_FPTR(Perl_pp_bit_or), MEMBER_TO_FPTR(Perl_pp_negate), MEMBER_TO_FPTR(Perl_pp_i_negate), @@ -882,21 +885,21 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ MEMBER_TO_FPTR(Perl_pp_complement), MEMBER_TO_FPTR(Perl_pp_atan2), MEMBER_TO_FPTR(Perl_pp_sin), - MEMBER_TO_FPTR(Perl_pp_cos), + MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_cos */ MEMBER_TO_FPTR(Perl_pp_rand), MEMBER_TO_FPTR(Perl_pp_srand), - MEMBER_TO_FPTR(Perl_pp_exp), - MEMBER_TO_FPTR(Perl_pp_log), - MEMBER_TO_FPTR(Perl_pp_sqrt), + MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_exp */ + MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_log */ + MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_sqrt */ MEMBER_TO_FPTR(Perl_pp_int), - MEMBER_TO_FPTR(Perl_pp_hex), + MEMBER_TO_FPTR(Perl_pp_oct), /* Perl_pp_hex */ MEMBER_TO_FPTR(Perl_pp_oct), MEMBER_TO_FPTR(Perl_pp_abs), MEMBER_TO_FPTR(Perl_pp_length), MEMBER_TO_FPTR(Perl_pp_substr), MEMBER_TO_FPTR(Perl_pp_vec), MEMBER_TO_FPTR(Perl_pp_index), - MEMBER_TO_FPTR(Perl_pp_rindex), + MEMBER_TO_FPTR(Perl_pp_index), /* Perl_pp_rindex */ MEMBER_TO_FPTR(Perl_pp_sprintf), MEMBER_TO_FPTR(Perl_pp_formline), MEMBER_TO_FPTR(Perl_pp_ord), @@ -929,7 +932,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ MEMBER_TO_FPTR(Perl_pp_anonhash), MEMBER_TO_FPTR(Perl_pp_splice), MEMBER_TO_FPTR(Perl_pp_push), - MEMBER_TO_FPTR(Perl_pp_pop), + MEMBER_TO_FPTR(Perl_pp_shift), /* Perl_pp_pop */ MEMBER_TO_FPTR(Perl_pp_shift), MEMBER_TO_FPTR(Perl_pp_unshift), MEMBER_TO_FPTR(Perl_pp_sort), @@ -1145,16 +1148,21 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ MEMBER_TO_FPTR(Perl_pp_print), /* Perl_pp_say */ } #endif +#ifdef PERL_PPADDR_INITED ; +#endif #ifdef PERL_GLOBAL_STRUCT_INIT +# define PERL_CHECK_INITED static const Perl_check_t Gcheck[] #else # ifndef PERL_GLOBAL_STRUCT +# define PERL_CHECK_INITED EXT Perl_check_t PL_check[] /* or perlvars.h */ # endif #endif #if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT) +# define PERL_CHECK_INITED = { MEMBER_TO_FPTR(Perl_ck_null), /* null */ MEMBER_TO_FPTR(Perl_ck_null), /* stub */ @@ -1419,7 +1427,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */ MEMBER_TO_FPTR(Perl_ck_ftst), /* fttty */ MEMBER_TO_FPTR(Perl_ck_ftst), /* fttext */ MEMBER_TO_FPTR(Perl_ck_ftst), /* ftbinary */ - MEMBER_TO_FPTR(Perl_ck_fun), /* chdir */ + MEMBER_TO_FPTR(Perl_ck_chdir), /* chdir */ MEMBER_TO_FPTR(Perl_ck_fun), /* chown */ MEMBER_TO_FPTR(Perl_ck_fun), /* chroot */ MEMBER_TO_FPTR(Perl_ck_fun), /* unlink */ @@ -1516,18 +1524,20 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */ MEMBER_TO_FPTR(Perl_ck_null), /* break */ MEMBER_TO_FPTR(Perl_ck_null), /* continue */ MEMBER_TO_FPTR(Perl_ck_smartmatch), /* smartmatch */ - MEMBER_TO_FPTR(Perl_ck_say), /* say */ + MEMBER_TO_FPTR(Perl_ck_listiob), /* say */ MEMBER_TO_FPTR(Perl_ck_null), /* custom */ } #endif +#ifdef PERL_CHECK_INITED ; +#endif /* #ifdef PERL_CHECK_INITED */ #ifndef PERL_GLOBAL_STRUCT_INIT #ifndef DOINIT -EXT const U32 PL_opargs[]; +EXTCONST U32 PL_opargs[]; #else -EXT const U32 PL_opargs[] = { +EXTCONST U32 PL_opargs[] = { 0x00000000, /* null */ 0x00000000, /* stub */ 0x00003604, /* scalar */ @@ -1552,7 +1562,7 @@ EXT const U32 PL_opargs[] = { 0x00002206, /* srefgen */ 0x0001368c, /* ref */ 0x00122804, /* bless */ - 0x00001608, /* backtick */ + 0x00003608, /* backtick */ 0x00012808, /* glob */ 0x0001d608, /* readline */ 0x00000c08, /* rcatline */