Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: f6691a84dfa9fe39c67d0f974bf4663aefe26695 https://github.com/Perl/perl5/commit/f6691a84dfa9fe39c67d0f974bf4663aefe26695 Author: Tony Cook <t...@develop-help.com> Date: 2024-06-24 (Mon, 24 Jun 2024)
Changed paths: M ext/POSIX/POSIX.xs Log Message: ----------- POSIX: win32 calls "putenv" "_putenv" This produced build errors with gcc 14. Commit: 95d19e0063352ead71bb8a3d54ee329bc06d6f86 https://github.com/Perl/perl5/commit/95d19e0063352ead71bb8a3d54ee329bc06d6f86 Author: Tony Cook <t...@develop-help.com> Date: 2024-06-24 (Mon, 24 Jun 2024) Changed paths: M pod/perlguts.pod Log Message: ----------- perlguts: PTR2ul() is unsafe For a 64-bit build on Windows, pointers are 64-bits, while long is 32-bits, so PTR2ul() discards some bits. Commit: 6c10350f7c0e4fe55f8b4a332c7cc7b227f996b2 https://github.com/Perl/perl5/commit/6c10350f7c0e4fe55f8b4a332c7cc7b227f996b2 Author: Tony Cook <t...@develop-help.com> Date: 2024-06-24 (Mon, 24 Jun 2024) Changed paths: M perl.h Log Message: ----------- isnan (long double): always use the C99 version C99 requires that isnan() is a generic macro that accepts the standard floating point types (float, double, long double). We always include math.h eventually, so this macro should be available. This is complicated by C++. C++98 depends on C89, which does not require isnan(), but since we do require C99, I think we need to require a minimum of C++11, which follows C99. C++11 does *not* define isnan() as a macro, but as a set of overloaded functions, which produces almost the same result, the difference being that the macro test that was done by this code is no longer valid. The old code would fail to build with C++ long double builds with gcc on Window: ..\sv.c: In function 'size_t S_infnan_2pv(NV, char*, size_t, char)': ..\perl.h:2680:34: error: 'isnanl' was not declared in this scope; did you mean 'isnan'? 2680 | # define Perl_isnan(x) isnanl(x) | ^~~~~~ ..\sv.c:2882:14: note: in expansion of macro 'Perl_isnan' 2882 | else if (Perl_isnan(nv)) { | ^~~~~~~~~~ ..\sv.c: In function 'U8* S_hextract(NV, int*, bool*, U8*, U8*)': ..\perl.h:2680:34: error: 'isnanl' was not declared in this scope; did you mean 'isnan'? 2680 | # define Perl_isnan(x) isnanl(x) | ^~~~~~ ..\perl.h:8605:69: note: in expansion of macro 'Perl_isnan' 8605 | # define Perl_fp_class_denorm(x) ((x) != 0.0 && !Perl_isinf(x) && !Perl_isnan(x) && PERL_ABS(x) < NV_MIN) | ^~~~~~~~~~ ..\sv.c:11604:49: note: in expansion of macro 'Perl_fp_class_denorm' 11604 | #define HEXTRACT_GET_SUBNORMAL(nv) *subnormal = Perl_fp_class_denorm(nv) | ^~~~~~~~~~~~~~~~~~~~ ..\sv.c:11672:9: note: in expansion of macro 'HEXTRACT_GET_SUBNORMAL' 11672 | HEXTRACT_GET_SUBNORMAL(nv); | ^~~~~~~~~~~~~~~~~~~~~~ and with gcc 14.2, which requires prototypes per C99: In file included from ..\sv.c:32: ..\sv.c: In function 'S_infnan_2pv': ..\perl.h:2680:34: error: implicit declaration of function 'isnanl'; did you mean 'isnan'? [-Wimplicit-function-declaration] 2680 | # define Perl_isnan(x) isnanl(x) | ^~~~~~ ..\sv.c:2882:14: note: in expansion of macro 'Perl_isnan' 2882 | else if (Perl_isnan(nv)) { | ^~~~~~~~~~ gmake: *** [GNUmakefile:1430: mini\sv.o] Error 1 Commit: cbe01cd7d9efb68071360368fbf035d3014d6d30 https://github.com/Perl/perl5/commit/cbe01cd7d9efb68071360368fbf035d3014d6d30 Author: Tony Cook <t...@develop-help.com> Date: 2024-06-24 (Mon, 24 Jun 2024) Changed paths: M ext/POSIX/POSIX.xs Log Message: ----------- POSIX: mingw64 doesn't make the bessel functions visible with -std=c99 And doesn't provide a way to make them visible, even though they are visible by default for MSVC UCRT builds. The __MINGW32__ macro is set for both 32-bit and 64-bit MINGW builds. Commit: 0fdc16a98b54de021d921da8e32fe67e2fb6ffd3 https://github.com/Perl/perl5/commit/0fdc16a98b54de021d921da8e32fe67e2fb6ffd3 Author: Tony Cook <t...@develop-help.com> Date: 2024-06-24 (Mon, 24 Jun 2024) Changed paths: M win32/config.gc M win32/config.vc M win32/config_H.gc M win32/config_H.vc Log Message: ----------- win32/config*: all the supported compilers have isfinite() Commit: 56d5b6ef820802cd4c57fc2cfd8301a3f5d7af04 https://github.com/Perl/perl5/commit/56d5b6ef820802cd4c57fc2cfd8301a3f5d7af04 Author: Tony Cook <t...@develop-help.com> Date: 2024-06-24 (Mon, 24 Jun 2024) Changed paths: M ext/POSIX/t/math.t Log Message: ----------- POSIX: add simple bessel function tests Compare: https://github.com/Perl/perl5/compare/fddbca21db8e...56d5b6ef8208 To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications