Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 7a3762ab298365bf3be144fd497c3983a483865b https://github.com/Perl/perl5/commit/7a3762ab298365bf3be144fd497c3983a483865b Author: Tony Cook <t...@develop-help.com> Date: 2023-11-09 (Thu, 09 Nov 2023)
Changed paths: M hints/linux.sh M hints/solaris_2.sh Log Message: ----------- sun/oracle workshop cc: use -O1 (same as -xO1) to around probable bug Fixes #21535 Commit: d2fb3667d2d0414f8b41693bb16b0090c1244127 https://github.com/Perl/perl5/commit/d2fb3667d2d0414f8b41693bb16b0090c1244127 Author: Tony Cook <t...@develop-help.com> Date: 2023-11-09 (Thu, 09 Nov 2023) Changed paths: M hints/linux.sh Log Message: ----------- sun/oracle workshop c99: allow for trailing zero size arrays Encountered while testing -O1 with the workshop compiler on Oracle Linux, follows the same test and workaround done in hints/solaris_2.sh Commit: 6afd9e5d1004df0811a61925feeb125a0b1d4496 https://github.com/Perl/perl5/commit/6afd9e5d1004df0811a61925feeb125a0b1d4496 Author: Tony Cook <t...@develop-help.com> Date: 2023-11-09 (Thu, 09 Nov 2023) Changed paths: M ext/POSIX/t/math.t Log Message: ----------- ext/POSIX/t/math.t: don't assume the sign of NaN The test in Configure warns: /* Note that whether the sign bit is on or off * for NaN depends on the CPU/FPU, and possibly * can be affected by the build toolchain. but this test assumed that the default NaN was always positive, but this isn't the case with the Sun/Oracle workshop cc, whether on Oracle Linux or on Solaris. copysign() is however well defined for NaN, so we can modify the sign on NaN and test that with signbit(). Fixes #21533 Commit: 72ae6b57da17eddc7408991863b6a47bf7443f47 https://github.com/Perl/perl5/commit/72ae6b57da17eddc7408991863b6a47bf7443f47 Author: Tony Cook <t...@develop-help.com> Date: 2023-11-09 (Thu, 09 Nov 2023) Changed paths: M ext/POSIX/t/math.t Log Message: ----------- POSIX: the fallback copysign() doesn't handle NaNs Commit: 6c55fe7ea151b78eabe4917f4b0b51b07f4507ee https://github.com/Perl/perl5/commit/6c55fe7ea151b78eabe4917f4b0b51b07f4507ee Author: Tony Cook <t...@develop-help.com> Date: 2023-11-09 (Thu, 09 Nov 2023) Changed paths: M win32/config.vc Log Message: ----------- POSIX: MSVC really does have copysign This is enabled in config.gc, and gcc builds were using only msvcrt for a long time, so presumably MSVC 2013 which uses msvcrt also supports it. Later MSVC uses ucrt which definitely supports copysign. Commit: f6ac1ba921292649b99326c55c6e4add0a33ed8a https://github.com/Perl/perl5/commit/f6ac1ba921292649b99326c55c6e4add0a33ed8a Author: Tony Cook <t...@develop-help.com> Date: 2023-11-09 (Thu, 09 Nov 2023) Changed paths: M win32/config.vc Log Message: ----------- POSIX: MSVC really does have signbit() But it appears that the fallback for Perl_signbit() in numeric.c is broken when we've found a definition for Perl_fp_class_nzero(). When Perl_fp_class_nzero is defined, the fallback Perl_signbit() simply returns that value, but Perl_fp_class_nzero() only returns true when the number is negative zero, not for any negative number. But C99 requires signbit(), so I don't think it's worth spending any more time looking into this. We might want to eliminate Perl_signbit() from numeric.c, or try to fix it. Commit: af4027783a90cd0c37723fe296c4a1921125a985 https://github.com/Perl/perl5/commit/af4027783a90cd0c37723fe296c4a1921125a985 Author: Tony Cook <t...@develop-help.com> Date: 2023-11-09 (Thu, 09 Nov 2023) Changed paths: M ext/POSIX/t/math.t M win32/config.vc Log Message: ----------- POSIX: MSVC defines all of these It also defines fpclassify(), but that's a more complex change due to the classification macros in perl.h Compare: https://github.com/Perl/perl5/compare/40bc602d2e31...af4027783a90