diff src/if_perl.xs @ 33607:d330a74451b4 v9.0.2047

patch 9.0.2047: perl: warning about inconsistent dll linkage Commit: https://github.com/vim/vim/commit/2b126a6892b485bc9924464fabdf2313e1100aa9 Author: Ken Takata <kentkt@csc.jp> Date: Wed Oct 18 11:59:44 2023 +0200 patch 9.0.2047: perl: warning about inconsistent dll linkage Problem: perl: warning about inconsistent dll linkage Solution: suppress warning Suppress warning C4273 (inconsistent DLL linkage). Also adjust inconsistent use of const. closes: #13369 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Ken Takata <kentkt@csc.jp>
author Christian Brabandt <cb@256bit.org>
date Wed, 18 Oct 2023 12:15:03 +0200
parents 1a769647d661
children 6733c5359e8a
line wrap: on
line diff
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -46,6 +46,11 @@
 # define NO_THREAD_SAFE_LOCALE
 #endif
 
+#if defined(MSWIN) && defined(DYNAMIC_PERL)
+// Work around for warning C4273 (inconsistent DLL linkage).
+# define PERL_EXT_RE_BUILD
+#endif
+
 #ifdef __GNUC__
 # pragma GCC diagnostic push
 # pragma GCC diagnostic ignored "-Wunused-variable"
@@ -1483,7 +1488,7 @@ vim_IOLayer_init(void)
 
 # if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
 #  undef Perl_sv_free2
-void Perl_sv_free2(pTHX_ SV* sv, const U32 refcnt)
+void Perl_sv_free2(pTHX_ SV *const sv, const U32 refcnt)
 {
     (*dll_Perl_sv_free2)(aTHX_ sv, refcnt);
 }
@@ -1519,7 +1524,7 @@ NV Perl_sv_2nv_flags(pTHX_ SV *const sv,
 
 # ifdef PERL589_OR_LATER
 #  undef Perl_sv_2iv_flags
-IV Perl_sv_2iv_flags(pTHX_ SV* sv, I32 flags)
+IV Perl_sv_2iv_flags(pTHX_ SV *const sv, const I32 flags)
 {
     return (*dll_Perl_sv_2iv_flags)(aTHX_ sv, flags);
 }