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>
diff --git a/src/if_perl.xs b/src/if_perl.xs
index 312262a..d88c3f3 100644
--- 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 @@
# 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 @@
# 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);
}