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

Reply via email to