Subject: | Scalar-List-Utils 1.44 won't build on blead |
Date: | Sat, 19 Mar 2016 13:29:16 +0000 |
To: | bug-Scalar-List-Utils [...] rt.cpan.org |
From: | Dave Mitchell <davem [...] iabyn.com> |
I Just tried pulling 1.44 into blead and it failed to compile under
blead's fairly fascist compiler options.
The attached patch fixes the couple of trivial issues.
Here's the original warnings and errors:
In file included from ../../perl.h:5609:0,
from ListUtil.xs:7:
ListUtil.xs: In function ‘XS_List__Util_uniq’:
../../embed.h:222:36: warning: request for implicit conversion from ‘void *’ to ‘HE * {aka struct he *}’ not permitted in C++ [-Wc++-compat]
#define hv_common(a,b,c,d,e,f,g,h) Perl_hv_common(aTHX_ a,b,c,d,e,f,g,h)
^
ListUtil.xs:1046:22: note: in expansion of macro ‘hv_common’
HE* he = hv_common(seen, NULL, SvPVX(keysv), SvCUR(keysv), 0, HV_FETCH_LVALUE | HV_FETCH_EMPTY_HE, NULL, 0);
^
ListUtil.xs:1046:13: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
HE* he = hv_common(seen, NULL, SvPVX(keysv), SvCUR(keysv), 0, HV_FETCH_LVALUE | HV_FETCH_EMPTY_HE, NULL, 0);
^
In file included from ../../perl.h:5609:0,
from ListUtil.xs:7:
../../embed.h:222:36: warning: request for implicit conversion from ‘void *’ to ‘HE * {aka struct he *}’ not permitted in C++ [-Wc++-compat]
#define hv_common(a,b,c,d,e,f,g,h) Perl_hv_common(aTHX_ a,b,c,d,e,f,g,h)
^
ListUtil.xs:1066:22: note: in expansion of macro ‘hv_common’
HE* he = hv_common(seen, args[index], NULL, 0, 0, HV_FETCH_LVALUE | HV_FETCH_EMPTY_HE, NULL, 0);
^
cc1: some warnings being treated as errors
make[1]: *** [ListUtil.o] Error 1
Processing hints file hints/linux.pl
Processing hints file hints/linux.pl
In file included from ../../perl.h:5609:0,
from ListUtil.xs:7:
ListUtil.xs: In function ‘XS_List__Util_uniq’:
../../embed.h:222:36: warning: request for implicit conversion from ‘void *’ to ‘HE * {aka struct he *}’ not permitted in C++ [-Wc++-compat]
#define hv_common(a,b,c,d,e,f,g,h) Perl_hv_common(aTHX_ a,b,c,d,e,f,g,h)
^
ListUtil.xs:1046:22: note: in expansion of macro ‘hv_common’
HE* he = hv_common(seen, NULL, SvPVX(keysv), SvCUR(keysv), 0, HV_FETCH_LVALUE | HV_FETCH_EMPTY_HE, NULL, 0);
^
ListUtil.xs:1046:13: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
HE* he = hv_common(seen, NULL, SvPVX(keysv), SvCUR(keysv), 0, HV_FETCH_LVALUE | HV_FETCH_EMPTY_HE, NULL, 0);
^
In file included from ../../perl.h:5609:0,
from ListUtil.xs:7:
../../embed.h:222:36: warning: request for implicit conversion from ‘void *’ to ‘HE * {aka struct he *}’ not permitted in C++ [-Wc++-compat]
#define hv_common(a,b,c,d,e,f,g,h) Perl_hv_common(aTHX_ a,b,c,d,e,f,g,h)
^
ListUtil.xs:1066:22: note: in expansion of macro ‘hv_common’
HE* he = hv_common(seen, args[index], NULL, 0, 0, HV_FETCH_LVALUE | HV_FETCH_EMPTY_HE, NULL, 0);
^
--
Standards (n). Battle insignia or tribal totems.
Message body is not shown because sender requested not to inline it.