diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-06-10 15:46:23 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-06-10 15:46:23 +0200 |
commit | fa4161cb0c266378012d3fde0eca56da8739528d (patch) | |
tree | e88254924ad473cc73f9dde6b8790d117366d8a8 /src/if_perl.xs | |
parent | f84b122a99da75741ae686fabb6f81b8b4755998 (diff) | |
download | vim-git-fa4161cb0c266378012d3fde0eca56da8739528d.tar.gz |
patch 8.0.0631: can't build with Perl 5.26v8.0.0631
Problem: Perl 5.26 also needs S_TOPMARK and S_POPMARK defined.
Solution: Define the functions when needed. (Jesin, closes #1748)
Diffstat (limited to 'src/if_perl.xs')
-rw-r--r-- | src/if_perl.xs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/if_perl.xs b/src/if_perl.xs index 2bf72c534..c62e8d2d9 100644 --- a/src/if_perl.xs +++ b/src/if_perl.xs @@ -633,6 +633,30 @@ S_SvREFCNT_dec(pTHX_ SV *sv) } # endif +/* perl-5.26 also needs S_TOPMARK and S_POPMARK. */ +# if (PERL_REVISION == 5) && (PERL_VERSION >= 26) +PERL_STATIC_INLINE I32 +S_TOPMARK(pTHX) +{ + DEBUG_s(DEBUG_v(PerlIO_printf(Perl_debug_log, + "MARK top %p %" IVdf "\n", + PL_markstack_ptr, + (IV)*PL_markstack_ptr))); + return *PL_markstack_ptr; +} + +PERL_STATIC_INLINE I32 +S_POPMARK(pTHX) +{ + DEBUG_s(DEBUG_v(PerlIO_printf(Perl_debug_log, + "MARK pop %p %" IVdf "\n", + (PL_markstack_ptr-1), + (IV)*(PL_markstack_ptr-1)))); + assert((PL_markstack_ptr > PL_markstack) || !"MARK underflow"); + return *PL_markstack_ptr--; +} +# endif + /* * Make all runtime-links of perl. * |