See https://github.com/eserte/perl-tk/issues/98#issuecomment-1944054296: Newer compilers may have -Werror=incompatible-pointer-types by default. PL_curcop->cop_warnings previously had type SV *, then STRLEN *, and now char * as of Perl 5.37.6. Since old_warn is only used to temporarily hold the value from PL_curcop->cop_warnings without dereferencing it, old_warn can instead be declared as void * regardless of Perl 5 version.
See https://github.com/eserte/perl-tk/issues/98#issuecomment-1944054296: Newer compilers may have
-Werror=incompatible-pointer-types
by default.PL_curcop->cop_warnings
previously had typeSV *
, thenSTRLEN *
, and nowchar *
as of Perl 5.37.6. Sinceold_warn
is only used to temporarily hold the value fromPL_curcop->cop_warnings
without dereferencing it,old_warn
can instead be declared asvoid *
regardless of Perl 5 version.