diff options
| author | 2016-06-05 02:16:14 +0200 | |
|---|---|---|
| committer | 2016-06-05 02:16:14 +0200 | |
| commit | 6254f1dee20cd918befdbfe79e4a8be50aa125a8 (patch) | |
| tree | 865035f014fc5148144729a92b481846e77fff76 /src/modules | |
| parent | KVIrc.nsi: minor typos (diff) | |
| download | KVIrc-6254f1dee20cd918befdbfe79e4a8be50aa125a8.tar.gz KVIrc-6254f1dee20cd918befdbfe79e4a8be50aa125a8.tar.bz2 KVIrc-6254f1dee20cd918befdbfe79e4a8be50aa125a8.zip | |
regenerate perl junk and a typo fix
- typemap from perl 5.24.0
- ppport.h from Devel::PPPort 3.33
- xs.inc using ExtUtils::ParseXS 3.31 (content unchanged)
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/perlcore/ppport.h | 105 | ||||
| -rw-r--r-- | src/modules/perlcore/typemap | 54 | ||||
| -rw-r--r-- | src/modules/perlcore/xs.inc | 2 |
3 files changed, 140 insertions, 21 deletions
diff --git a/src/modules/perlcore/ppport.h b/src/modules/perlcore/ppport.h index f0f9d6c4a..2b043ef25 100644 --- a/src/modules/perlcore/ppport.h +++ b/src/modules/perlcore/ppport.h @@ -4,9 +4,9 @@ /* ---------------------------------------------------------------------- - ppport.h -- Perl/Pollution/Portability Version 3.32 + ppport.h -- Perl/Pollution/Portability Version 3.33 - Automatically created by Devel::PPPort running under perl 5.022001. + Automatically created by Devel::PPPort running under perl 5.024000. Version 3.x, Copyright (c) 2004-2013, Marcus Holland-Moritz. @@ -23,8 +23,8 @@ SKIP if (@ARGV && $ARGV[0] eq '--unstrip') { eval { require Devel::PPPort }; $@ and die "Cannot require Devel::PPPort, please install.\n"; - if (eval $Devel::PPPort::VERSION < 3.32) { - die "ppport.h was originally generated with Devel::PPPort 3.32.\n" + if (eval $Devel::PPPort::VERSION < 3.33) { + die "ppport.h was originally generated with Devel::PPPort 3.33.\n" . "Your Devel::PPPort is only version $Devel::PPPort::VERSION.\n" . "Please install a newer version, or --unstrip will not work.\n"; } @@ -503,6 +503,58 @@ sv_setnv(sv, (double)TeMpUv); \ #ifndef Newxz #define Newxz(v,n,t) Newz(0,v,n,t) #endif +#ifndef PERL_MAGIC_qr +#define PERL_MAGIC_qr 'r' +#endif +#ifndef cBOOL +#define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0) +#endif +#ifndef OpHAS_SIBLING +#define OpHAS_SIBLING(o) (cBOOL((o)->op_sibling)) +#endif +#ifndef OpSIBLING +#define OpSIBLING(o) (0 + (o)->op_sibling) +#endif +#ifndef OpMORESIB_set +#define OpMORESIB_set(o, sib) ((o)->op_sibling = (sib)) +#endif +#ifndef OpLASTSIB_set +#define OpLASTSIB_set(o, parent) ((o)->op_sibling = NULL) +#endif +#ifndef OpMAYBESIB_set +#define OpMAYBESIB_set(o, sib, parent) ((o)->op_sibling = (sib)) +#endif +#ifndef SvRX +#if defined(NEED_SvRX) +static void * DPPP_(my_SvRX)(pTHX_ SV *rv); +static +#else +extern void * DPPP_(my_SvRX)(pTHX_ SV *rv); +#endif +#ifdef SvRX +#undef SvRX +#endif +#define SvRX(a) DPPP_(my_SvRX)(aTHX_ a) +#if defined(NEED_SvRX) || defined(NEED_SvRX_GLOBAL) +void * +DPPP_(my_SvRX)(pTHX_ SV *rv) +{ +if (SvROK(rv)) { +SV *sv = SvRV(rv); +if (SvMAGICAL(sv)) { +MAGIC *mg = mg_find(sv, PERL_MAGIC_qr); +if (mg && mg->mg_obj) { +return mg->mg_obj; +} +} +} +return 0; +} +#endif +#endif +#ifndef SvRXOK +#define SvRXOK(sv) (!!SvRX(sv)) +#endif #ifndef PERL_UNUSED_DECL #ifdef HASATTRIBUTE #if (defined(__GNUC__) && defined(__cplusplus)) || defined(__INTEL_COMPILER) @@ -532,6 +584,13 @@ sv_setnv(sv, (double)TeMpUv); \ #define PERL_UNUSED_CONTEXT #endif #endif +#ifndef PERL_UNUSED_RESULT +#if defined(__GNUC__) && defined(HASATTRIBUTE_WARN_UNUSED_RESULT) +#define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END +#else +#define PERL_UNUSED_RESULT(v) ((void)(v)) +#endif +#endif #ifndef NOOP #define NOOP (void)0 #endif @@ -799,6 +858,12 @@ SvUTF8(HeKEY_sv(he)) : \ (U32)HeKUTF8(he)) #endif #endif +#ifndef C_ARRAY_LENGTH +#define C_ARRAY_LENGTH(a) (sizeof(a)/sizeof((a)[0])) +#endif +#ifndef C_ARRAY_END +#define C_ARRAY_END(a) ((a) + C_ARRAY_LENGTH(a)) +#endif #ifndef PERL_SIGNALS_UNSAFE_FLAG #define PERL_SIGNALS_UNSAFE_FLAG 0x0001 #if (PERL_BCDVERSION < 0x5008000) @@ -1804,21 +1869,43 @@ return sv; #ifndef HvNAMELEN_get #define HvNAMELEN_get(hv) (HvNAME_get(hv) ? (I32)strlen(HvNAME_get(hv)) : 0) #endif +#ifndef gv_fetchpvn_flags +#if defined(NEED_gv_fetchpvn_flags) +static GV* DPPP_(my_gv_fetchpvn_flags)(pTHX_ const char* name, STRLEN len, int flags, int types); +static +#else +extern GV* DPPP_(my_gv_fetchpvn_flags)(pTHX_ const char* name, STRLEN len, int flags, int types); +#endif +#ifdef gv_fetchpvn_flags +#undef gv_fetchpvn_flags +#endif +#define gv_fetchpvn_flags(a,b,c,d) DPPP_(my_gv_fetchpvn_flags)(aTHX_ a,b,c,d) +#define Perl_gv_fetchpvn_flags DPPP_(my_gv_fetchpvn_flags) +#if defined(NEED_gv_fetchpvn_flags) || defined(NEED_gv_fetchpvn_flags_GLOBAL) +GV* +DPPP_(my_gv_fetchpvn_flags)(pTHX_ const char* name, STRLEN len, int flags, int types) { +char *namepv = savepvn(name, len); +GV* stash = gv_fetchpv(namepv, TRUE, SVt_PVHV); +Safefree(namepv); +return stash; +} +#endif +#endif #ifndef GvSVn #define GvSVn(gv) GvSV(gv) #endif #ifndef isGV_with_GP #define isGV_with_GP(gv) isGV(gv) #endif -#ifndef gv_fetchpvn_flags -#define gv_fetchpvn_flags(name, len, flags, svt) gv_fetchpv(name, flags, svt) -#endif #ifndef gv_fetchsv #define gv_fetchsv(name, flags, svt) gv_fetchpv(SvPV_nolen_const(name), flags, svt) #endif #ifndef get_cvn_flags #define get_cvn_flags(name, namelen, flags) get_cv(name, flags) #endif +#ifndef gv_init_pvn +#define gv_init_pvn(gv, stash, ptr, len, flags) gv_init(gv, stash, ptr, len, flags & GV_ADDMULTI ? TRUE : FALSE) +#endif #ifndef WARN_ALL #define WARN_ALL 0 #endif @@ -2034,12 +2121,16 @@ warn("%s", SvPV_nolen(sv)); #ifndef HEf_SVKEY #define HEf_SVKEY -2 #endif +#ifndef MUTABLE_PTR #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) #define MUTABLE_PTR(p) ({ void *_p = (p); _p; }) #else #define MUTABLE_PTR(p) ((void *) (p)) #endif +#endif +#ifndef MUTABLE_SV #define MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p)) +#endif #ifndef PERL_MAGIC_sv #define PERL_MAGIC_sv '\0' #endif diff --git a/src/modules/perlcore/typemap b/src/modules/perlcore/typemap index 0b09641f8..4bfba95e9 100644 --- a/src/modules/perlcore/typemap +++ b/src/modules/perlcore/typemap @@ -378,7 +378,19 @@ T_PACKEDARRAY T_ARRAY { U32 ix_$var; - EXTEND(SP,size_$var); + SSize_t extend_size = + /* The weird way this is written is because g++ is dumb + * enough to warn "comparison is always false" on something + * like: + * + * sizeof(a) > sizeof(b) && a > B_t_MAX + * + * (where the LH condition is false) + */ + (size_$var > (sizeof(size_$var) > sizeof(SSize_t) + ? SSize_t_MAX : size_$var)) + ? -1 : (SSize_t)size_$var; + EXTEND(SP, extend_size); for (ix_$var = 0; ix_$var < size_$var; ix_$var++) { ST(ix_$var) = sv_newmortal(); DO_ARRAY_ELEM @@ -388,32 +400,48 @@ T_STDIO { GV *gv = newGVgen("$Package"); PerlIO *fp = PerlIO_importFILE($var,0); - if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp) ) - sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1))); + if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp) ) { + SV *rv = newRV_inc((SV*)gv); + rv = sv_bless(rv, GvSTASH(gv)); + ${"$var" eq "RETVAL" ? \"$arg = sv_2mortal(rv);" + : \"sv_setsv($arg, rv);\n\t\tSvREFCNT_dec_NN(rv);"} + }${"$var" ne "RETVAL" ? \" else - $arg = &PL_sv_undef; + sv_setsv($arg, &PL_sv_undef);\n" : \""} } T_IN { GV *gv = newGVgen("$Package"); - if ( do_open(gv, "<&", 2, FALSE, 0, 0, $var) ) - sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1))); + if ( do_open(gv, "<&", 2, FALSE, 0, 0, $var) ) { + SV *rv = newRV_inc((SV*)gv); + rv = sv_bless(rv, GvSTASH(gv)); + ${"$var" eq "RETVAL" ? \"$arg = sv_2mortal(rv);" + : \"sv_setsv($arg, rv);\n\t\tSvREFCNT_dec_NN(rv);"} + }${"$var" ne "RETVAL" ? \" else - $arg = &PL_sv_undef; + sv_setsv($arg, &PL_sv_undef);\n" : \""} } T_INOUT { GV *gv = newGVgen("$Package"); - if ( do_open(gv, "+<&", 3, FALSE, 0, 0, $var) ) - sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1))); + if ( do_open(gv, "+<&", 3, FALSE, 0, 0, $var) ) { + SV *rv = newRV_inc((SV*)gv); + rv = sv_bless(rv, GvSTASH(gv)); + ${"$var" eq "RETVAL" ? \"$arg = sv_2mortal(rv);" + : \"sv_setsv($arg, rv);\n\t\tSvREFCNT_dec_NN(rv);"} + }${"$var" ne "RETVAL" ? \" else - $arg = &PL_sv_undef; + sv_setsv($arg, &PL_sv_undef);\n" : \""} } T_OUT { GV *gv = newGVgen("$Package"); - if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) ) - sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1))); + if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) ) { + SV *rv = newRV_inc((SV*)gv); + rv = sv_bless(rv, GvSTASH(gv)); + ${"$var" eq "RETVAL" ? \"$arg = sv_2mortal(rv);" + : \"sv_setsv($arg, rv);\n\t\tSvREFCNT_dec_NN(rv);"} + }${"$var" ne "RETVAL" ? \" else - $arg = &PL_sv_undef; + sv_setsv($arg, &PL_sv_undef);\n" : \""} } diff --git a/src/modules/perlcore/xs.inc b/src/modules/perlcore/xs.inc index db3dda6a8..20e48117d 100644 --- a/src/modules/perlcore/xs.inc +++ b/src/modules/perlcore/xs.inc @@ -1,5 +1,5 @@ /* - * This file was generated automatically by ExtUtils::ParseXS version 3.28 from the + * This file was generated automatically by ExtUtils::ParseXS version 3.31 from the * contents of KVIrc.xs. Do not edit this file, edit KVIrc.xs instead. * * ANY CHANGES MADE HERE WILL BE LOST! |
