On 22 May 2015 at 00:03, Ricardo Signes <perl...@rjbs.manxome.org> wrote:
> And when thyself with silver foot shall pass> Among the theories scattered on the grass> Take up my good intentions with the rest>> -- T.S. Eliot>> We are happy to announce perl v5.22.0... RC2! This is the second release> candidate of Perl 5.22.0.>
I have a few build failures in certain gcc version/configuration
combinations. Two are known problems (perl#123906 and perl #123794),
but I wasn't aware of this problem:
With all MinGW-w64 gccs from 4.5.3 through 4.8.0, the C++ mode build
fails with the 64-bit (native or cross) compiler. The exact errors
vary slightly from one compiler to another, but they're always
something like this:
gcc -c -xc++ -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE
-DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
-fwrapv -fno-strict-aliasing -mms-bitfields -s -O2
-DVERSION=\"3.31\" -DXS_VERSION=\"3.31\" "-I..\..\lib\CORE"
RealPPPort.c
In file included from RealPPPort.xs:31:0:
RealPPPort.xs: In function 'void
XS_Devel__PPPort_ptrtests(PerlInterpreter*, CV*)':
..\..\lib\CORE/perl.h:1735:33: error: cast from 'int*' to 'long
unsigned int' loses precision [-fpermissive]
# define INT2PTR(any,d) (any)(d)
^
..\..\lib\CORE/perl.h:1750:21: note: in expansion of macro 'INT2PTR'
# define PTR2ul(p) INT2PTR(unsigned long,p)
^
RealPPPort.xs:1024:27: note: in expansion of macro 'PTR2ul'
RETVAL += PTR2ul(p) != 0UL ? 2 : 0;
^
dmake: Error code 129, while making 'RealPPPort.o'
Unsuccessful make(cpan/Devel-PPPort): code=65280 at ..\make_ext.pl line 574.
dmake: Error code 130, while making 'Extensions'
Not a showstopper since I expect most people don't use the C++ mode
build other than for extra/different warnings to find possible
problems... but that's exactly what this is :-)
VC6 (x86) also has a problem with C++ mode build:
cl -c -nologo -GF -W3 -TP -EHsc -I..\lib\CORE -I.\include -I. -I..
-DWIN32 -D_CONSOLE -DNO_STRICT -D_CRT_SECURE_NO_DEPRECATE
-D_CRT_NONSTDC_NO_DEPRECATE -DPERLDLL -DPERL_CORE -O1 -MD -Zi
-DNDEBUG -GL -DPERL_EXTERNAL_GLOB -DPERL_IS_MINIPERL -Fo.\mini\av.obj
..\av.c
Command line warning D4002 : ignoring unknown option '-GL'
av.c
..\av.c(976) : error C2375: 'S_get_aux_mg' : redefinition; different linkage
..\proto.h(5953) : see declaration of 'S_get_aux_mg'
..\av.c(996) : error C2440: 'initializing' : cannot convert from
'struct magic *(__cdecl *)(struct av *)' to 'struct magic *const '
There is no context in which this conversion is possible
..\av.c(1006) : error C2440: 'initializing' : cannot convert from
'struct magic *(__cdecl *)(struct av *)' to 'struct magic *const '
There is no context in which this conversion is possible