comparison src/if_perl.xs @ 32714:d83068c95ba0 v9.0.1681

patch 9.0.1681: Build Failure with Perl 5.38 Commit: https://github.com/vim/vim/commit/1d7caa58e3c87f75a4becbceabbd1af181ace11e Author: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Thu Jun 22 08:55:47 2023 +0200 patch 9.0.1681: Build Failure with Perl 5.38 Problem: Build Failure with Perl 5.38 Solution: Fix Build Failure closes: #12543, closes: #12575
author Christian Brabandt <cb@256bit.org>
date Wed, 09 Aug 2023 20:15:03 +0200
parents d8e7d725a666
children 6ee6de3bbc94
comparison
equal deleted inserted replaced
32713:12bcdf09f817 32714:d83068c95ba0
38 #include "vim.h" 38 #include "vim.h"
39 39
40 /* Work around for perl-5.18. 40 /* Work around for perl-5.18.
41 * Don't include "perl\lib\CORE\inline.h" for now, 41 * Don't include "perl\lib\CORE\inline.h" for now,
42 * include it after Perl_sv_free2 is defined. */ 42 * include it after Perl_sv_free2 is defined. */
43 #ifdef DYNAMIC_PERL 43 #if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
44 # define PERL_NO_INLINE_FUNCTIONS 44 # define PERL_NO_INLINE_FUNCTIONS
45 #endif 45 #endif
46 46
47 #ifdef _MSC_VER 47 #ifdef _MSC_VER
48 // Work around for using MSVC and ActivePerl 5.18. 48 // Work around for using MSVC and ActivePerl 5.18.
400 static bool (*Perl_sv_2bool)(pTHX_ SV*); 400 static bool (*Perl_sv_2bool)(pTHX_ SV*);
401 # endif 401 # endif
402 static IV (*Perl_sv_2iv)(pTHX_ SV*); 402 static IV (*Perl_sv_2iv)(pTHX_ SV*);
403 static SV* (*Perl_sv_2mortal)(pTHX_ SV*); 403 static SV* (*Perl_sv_2mortal)(pTHX_ SV*);
404 # if (PERL_REVISION == 5) && (PERL_VERSION >= 8) 404 # if (PERL_REVISION == 5) && (PERL_VERSION >= 8)
405 static char* (*Perl_sv_2pv_flags)(pTHX_ SV*, STRLEN*, I32); 405 static char* (*Perl_sv_2pv_flags)(pTHX_ SV*, STRLEN* const, const U32);
406 static char* (*Perl_sv_2pv_nolen)(pTHX_ SV*); 406 static char* (*Perl_sv_2pv_nolen)(pTHX_ SV*);
407 # else 407 # else
408 static char* (*Perl_sv_2pv)(pTHX_ SV*, STRLEN*); 408 static char* (*Perl_sv_2pv)(pTHX_ SV*, STRLEN*);
409 # endif 409 # endif
410 static char* (*Perl_sv_2pvbyte)(pTHX_ SV*, STRLEN*); 410 static char* (*Perl_sv_2pvbyte)(pTHX_ SV*, STRLEN*);
411 # if (PERL_REVISION == 5) && (PERL_VERSION >= 32) 411 # if (PERL_REVISION == 5) && (PERL_VERSION >= 32)
412 static char* (*Perl_sv_2pvbyte_flags)(pTHX_ SV*, STRLEN*, I32); 412 static char* (*Perl_sv_2pvbyte_flags)(pTHX_ SV*, STRLEN* const, const U32);
413 # endif 413 # endif
414 static SV* (*Perl_sv_bless)(pTHX_ SV*, HV*); 414 static SV* (*Perl_sv_bless)(pTHX_ SV*, HV*);
415 # if (PERL_REVISION == 5) && (PERL_VERSION >= 8) 415 # if (PERL_REVISION == 5) && (PERL_VERSION >= 8)
416 static void (*Perl_sv_catpvn_flags)(pTHX_ SV* , const char*, STRLEN, I32); 416 static void (*Perl_sv_catpvn_flags)(pTHX_ SV* , const char*, STRLEN, I32);
417 # else 417 # else
708 # if (PERL_REVISION == 5) && (PERL_VERSION >= 32) 708 # if (PERL_REVISION == 5) && (PERL_VERSION >= 32)
709 # define Perl_POPMARK S_POPMARK 709 # define Perl_POPMARK S_POPMARK
710 # endif 710 # endif
711 711
712 /* perl-5.34 needs Perl_SvTRUE_common; used in SvTRUE_nomg_NN */ 712 /* perl-5.34 needs Perl_SvTRUE_common; used in SvTRUE_nomg_NN */
713 # if (PERL_REVISION == 5) && (PERL_VERSION >= 34) 713 # if (PERL_REVISION == 5) && (PERL_VERSION == 34)
714 PERL_STATIC_INLINE bool 714 PERL_STATIC_INLINE bool
715 Perl_SvTRUE_common(pTHX_ SV * sv, const bool sv_2bool_is_fallback) 715 Perl_SvTRUE_common(pTHX_ SV * sv, const bool sv_2bool_is_fallback)
716 { 716 {
717 if (UNLIKELY(SvIMMORTAL_INTERP(sv))) 717 if (UNLIKELY(SvIMMORTAL_INTERP(sv)))
718 return SvIMMORTAL_TRUE(sv); 718 return SvIMMORTAL_TRUE(sv);
735 return isGV_with_GP(sv); 735 return isGV_with_GP(sv);
736 } 736 }
737 # endif 737 # endif
738 738
739 /* perl-5.32 needs Perl_SvTRUE */ 739 /* perl-5.32 needs Perl_SvTRUE */
740 # if (PERL_REVISION == 5) && (PERL_VERSION >= 32) 740 # if (PERL_REVISION == 5) && (PERL_VERSION == 32)
741 PERL_STATIC_INLINE bool 741 PERL_STATIC_INLINE bool
742 Perl_SvTRUE(pTHX_ SV *sv) { 742 Perl_SvTRUE(pTHX_ SV *sv) {
743 if (!LIKELY(sv)) 743 if (!LIKELY(sv))
744 return FALSE; 744 return FALSE;
745 SvGETMAGIC(sv); 745 SvGETMAGIC(sv);
1647 int i, b; 1647 int i, b;
1648 1648
1649 PPCODE: 1649 PPCODE:
1650 if (items == 0) 1650 if (items == 0)
1651 { 1651 {
1652 if (GIMME == G_SCALAR) 1652 if (GIMME_V == G_SCALAR)
1653 { 1653 {
1654 i = 0; 1654 i = 0;
1655 FOR_ALL_BUFFERS(vimbuf) 1655 FOR_ALL_BUFFERS(vimbuf)
1656 ++i; 1656 ++i;
1657 1657
1698 int i, w; 1698 int i, w;
1699 1699
1700 PPCODE: 1700 PPCODE:
1701 if (items == 0) 1701 if (items == 0)
1702 { 1702 {
1703 if (GIMME == G_SCALAR) 1703 if (GIMME_V == G_SCALAR)
1704 XPUSHs(sv_2mortal(newSViv(win_count()))); 1704 XPUSHs(sv_2mortal(newSViv(win_count())));
1705 else 1705 else
1706 { 1706 {
1707 FOR_ALL_WINDOWS(vimwin) 1707 FOR_ALL_WINDOWS(vimwin)
1708 XPUSHs(sv_2mortal(newWINrv(newSV(0), vimwin))); 1708 XPUSHs(sv_2mortal(newWINrv(newSV(0), vimwin)));