Mercurial > vim
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))); |