On Fri Sep 30 12:50:17 2016, jkeenan wrote: > On Fri Sep 30 10:20:48 2016, petdance wrote: > > This is a bug report for perl from andy@petdance.com, > > generated with the help of perlbug 1.40 running under perl 5.24.0. > > > > > > ----------------------------------------------------------------- > > [Please describe your issue here] > > > > > > Minor internal cleanups in numeric.c > > > > * Simplified some variable instantiation in Perl_my_atof, including > > removing some unnecessary initialization. > > * Removed some unnecessary casting in Perl_my_atof2. > > * Added consts to three other internal vars. > > > > Now available for smoke-testing in branch: > > smoke-me/jkeenan/petdance/129766-numeric-c The patch is failing to compile when you configure with '-Dcc=g++'. See smoke reports at http://perl.develop-help.com/?b=smoke-me%2Fjkeenan%2Fpetdance%2F129766-numeric-c I have locally reproduced the same type of failures as reported by George's g++ smoke runs at the above link. When I call 'make', I very quickly start to get warnings like these: ##### In file included from perl.c:37:0: perl.h:6950:19: warning: anonymous type with no linkage used to declare variable ‘c onst<anonymous union> PL_inf’ with linkage INFNAN_NV_U8_DECL PL_inf; ^ perl.h:6951:19: warning: anonymous type with no linkage used to declare variable ‘c onst<anonymous union> PL_nan’ with linkage INFNAN_NV_U8_DECL PL_nan; ^ ##### Eventually, 'make' collapses with output like this: ##### $ tail -30 petdance-numeric-c-gpp.transcript |cat INFNAN_NV_U8_DECL PL_nan; ^ rm -f ../../lib/auto/POSIX/POSIX.so g++ -shared -O2 -L/usr/local/lib -fstack-protector-strong POSIX.o -o ../../lib/auto/POSIX/POSIX.so \ -lm \ /usr/bin/ld: POSIX.o: relocation R_X86_64_PC32 against undefined symbol `PL_nan' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status Makefile:478: recipe for target '../../lib/auto/POSIX/POSIX.so' failed make[1]: *** [../../lib/auto/POSIX/POSIX.so] Error 1 make[1]: Leaving directory '/home/jkeenan/gitwork/perl/ext/POSIX' make[1]: Entering directory '/home/jkeenan/gitwork/perl/ext/POSIX' /home/jkeenan/gitwork/perl/ext/POSIX/../../miniperl "-I../../lib" -MExtUtils::Command::MM -e 'cp_nonempty' -- POSIX.bs ../../lib/auto/POSIX/POSIX.bs 644 rm -f ../../lib/auto/POSIX/POSIX.so g++ -shared -O2 -L/usr/local/lib -fstack-protector-strong POSIX.o -o ../../lib/auto/POSIX/POSIX.so \ -lm \ /usr/bin/ld: POSIX.o: relocation R_X86_64_PC32 against undefined symbol `PL_nan' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status Makefile:478: recipe for target '../../lib/auto/POSIX/POSIX.so' failed make[1]: *** [../../lib/auto/POSIX/POSIX.so] Error 1 make[1]: Leaving directory '/home/jkeenan/gitwork/perl/ext/POSIX' Unsuccessful make(ext/POSIX): code=512 at make_ext.pl line 569. makefile:600: recipe for target 'lib/auto/POSIX/POSIX.so' failed make: *** [lib/auto/POSIX/POSIX.so] Error 25 ##### Transcripts available upon request, but these are easily reproducible. OTOH, on FreeBSD-10.3, where clang is the default cc, 'make' and 'make test_harness' completed successfully. -- James E Keenan (jkeenan@cpan.org) --- via perlbug: queue: perl5 status: open https://rt.perl.org/Ticket/Display.html?id=129766Thread Previous