Branch: refs/heads/yves/hpux_build_warning_suppression Home: https://github.com/Perl/perl5 Commit: 7361d957ad1dcf0ff4d554b5a1928231b757b296 https://github.com/Perl/perl5/commit/7361d957ad1dcf0ff4d554b5a1928231b757b296 Author: Yves Orton <demer...@gmail.com> Date: 2023-03-23 (Thu, 23 Mar 2023)
Changed paths: M regcomp.c M regcomp.h M regcomp_debug.c M regcomp_study.c M regcomp_trie.c M regexec.c M regexp.h Log Message: ----------- regcomp.h - use a common union for head and args across all regnodes. This helps with HPUX builds where we need to ensure everything is aligned the same (on 32 bit boundaries). It also strongly encourages everything to use the accessor macros and not access the members directly. By using a union for the variadic fields we make it more obvious that some regops use the field in different ways. This patch also converts all the arg unions into a standardized union with standardized member names. Commit: ef87cbe0b860cb1fae09f559452f4a82b9ec8068 https://github.com/Perl/perl5/commit/ef87cbe0b860cb1fae09f559452f4a82b9ec8068 Author: Yves Orton <demer...@gmail.com> Date: 2023-03-23 (Thu, 23 Mar 2023) Changed paths: M peep.c Log Message: ----------- peep.c - ensure deferred_queue is initialized before use HPUX was warning that it can be used before it is initialized. There is no cost to nulling it out early so do so. Commit: 3f4a44409d39b92a4bd6e45962da1dd00f4f5a30 https://github.com/Perl/perl5/commit/3f4a44409d39b92a4bd6e45962da1dd00f4f5a30 Author: Yves Orton <demer...@gmail.com> Date: 2023-03-23 (Thu, 23 Mar 2023) Changed paths: M op.c Log Message: ----------- op.c - deal with not-reached statement warning Change this to test on o, and if it goes null to panic. We used to assume that o was a valid pointer and loop infinitely, but this meant that the old return statement at the bottom of function was never reached. Commit: a21a379f4ec9442fbb8951629d73045d4096c66d https://github.com/Perl/perl5/commit/a21a379f4ec9442fbb8951629d73045d4096c66d Author: Yves Orton <demer...@gmail.com> Date: 2023-03-23 (Thu, 23 Mar 2023) Changed paths: M pp_sys.c Log Message: ----------- pp_sys.c - suppress warning about comparison to unsigned value Commit: b6ffa05d0a4d51f0e3ed327547d095a118ad0d03 https://github.com/Perl/perl5/commit/b6ffa05d0a4d51f0e3ed327547d095a118ad0d03 Author: Yves Orton <demer...@gmail.com> Date: 2023-03-23 (Thu, 23 Mar 2023) Changed paths: M regcomp.c Log Message: ----------- regcomp.c - simplify logic to eliminate unreached code We always goto out of this if, so eliminate the unreached code and also eliminate the useless else block. Commit: 9fb1bcd16daaabea3996468c2fc411896c55ad5b https://github.com/Perl/perl5/commit/9fb1bcd16daaabea3996468c2fc411896c55ad5b Author: Yves Orton <demer...@gmail.com> Date: 2023-03-23 (Thu, 23 Mar 2023) Changed paths: M regexec.c Log Message: ----------- regexec.c - mark the bottom of a sub as never reached We used to have a return statement here that picky compilers would complain about. Commit: fab0e8a9e35f32bafce1747fa62590ec542a5833 https://github.com/Perl/perl5/commit/fab0e8a9e35f32bafce1747fa62590ec542a5833 Author: Yves Orton <demer...@gmail.com> Date: 2023-03-23 (Thu, 23 Mar 2023) Changed paths: M hv.c M perl.c M sv.c Log Message: ----------- sv.c - don't cast SVTYPEMASK to svtype. svtype is an enum with 18 values. SVTYPEMASK is 31. A picky compiler will complain that casting 31 to a svtype is an error. Casting both sides to a U8 should silence this. Commit: 9dff081313b2eb6d216a2c8c085616b8869a1d2e https://github.com/Perl/perl5/commit/9dff081313b2eb6d216a2c8c085616b8869a1d2e Author: Yves Orton <demer...@gmail.com> Date: 2023-03-23 (Thu, 23 Mar 2023) Changed paths: M Porting/cmpVERSION.pl Log Message: ----------- Porting/cmpVERSION.pl - deal with old git clients better in tag date parsing The HPUX box we smoke on does not have a modern git and chokes on taggerdate:unix, so we use taggerdata:iso8601 instead, and then parse the date with Time::Local. Commit: 5f23f5de17fa6f62221042ef4814041d085be265 https://github.com/Perl/perl5/commit/5f23f5de17fa6f62221042ef4814041d085be265 Author: Yves Orton <demer...@gmail.com> Date: 2023-03-23 (Thu, 23 Mar 2023) Changed paths: M t/op/sprintf2.t Log Message: ----------- t/op/sprintf2 - TODO a failing test for now The failure of this test usually signifies that the libc implementation upon which perl's %g formatting relies is broken. In such cases the test should probably be todo'd or skipped. See: https://github.com/Perl/perl5/issues/20953#issuecomment-1478744988 Fixes: #20953 Commit: 738c8017e84e0c48bdd48ee39b2a2c11e90f76be https://github.com/Perl/perl5/commit/738c8017e84e0c48bdd48ee39b2a2c11e90f76be Author: Yves Orton <demer...@gmail.com> Date: 2023-03-23 (Thu, 23 Mar 2023) Changed paths: M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm M dist/ExtUtils-ParseXS/lib/perlxs.pod M dist/ExtUtils-ParseXS/t/001-basic.t Log Message: ----------- ExtUtils-ParseXS - silence warnings about unreached code in generated XS code On HPUX we get a lot of: "APItest.c", line 4004: warning #2111-D: statement is unreachable: PUTBACK because people have used something like XSRETURN(1); and we generate code that does PUTBACK; return; Adding a pragma to silence it makes the builds happier; Commit: 6ed619043faa309d08f0b9525c2e80c4cca64d28 https://github.com/Perl/perl5/commit/6ed619043faa309d08f0b9525c2e80c4cca64d28 Author: Yves Orton <demer...@gmail.com> Date: 2023-03-23 (Thu, 23 Mar 2023) Changed paths: M regcomp.c Log Message: ----------- regcomp.c - eliminate assignment in while condition This gives covertiy heartburn, and also makes the HPUX compiler whine. Reworking it so that it is a while 1 and the condition determines if we break out of the loop resolves the heartburn and makes for more readable code. Commit: 8058e13c8ed1fb5415ffd1da6fb960853d8c1094 https://github.com/Perl/perl5/commit/8058e13c8ed1fb5415ffd1da6fb960853d8c1094 Author: Yves Orton <demer...@gmail.com> Date: 2023-03-23 (Thu, 23 Mar 2023) Changed paths: M numeric.c Log Message: ----------- numeric.c - change logical && to bitwise & in nantype test This appears to have been broken since 2015, found by HPUX compiler warnings: "numeric.c", line 927: warning #4277-D: logical AND with a constant, do you mean to use '&'? !(nantype && IS_NUMBER_IN_UV)) { Commit: 0293f7fd44865cfb55d770b6e7664307e52009ce https://github.com/Perl/perl5/commit/0293f7fd44865cfb55d770b6e7664307e52009ce Author: Yves Orton <demer...@gmail.com> Date: 2023-03-23 (Thu, 23 Mar 2023) Changed paths: M dist/Devel-PPPort/PPPort_pm.PL M dist/Devel-PPPort/parts/inc/misc Log Message: ----------- Devel-PPPort - deal with signed klen in check_HeUTF8 Some of the HV logic uses a negative key length to indicate utf8 keys, and this logic was using an unsigned keylength, which obviously does not work Commit: 669aade32e011d3bc7dd5322a73b5f5228bd5dfa https://github.com/Perl/perl5/commit/669aade32e011d3bc7dd5322a73b5f5228bd5dfa Author: Yves Orton <demer...@gmail.com> Date: 2023-03-23 (Thu, 23 Mar 2023) Changed paths: M perlio.c Log Message: ----------- perlio.c - double cast PerlIO_lockcnt() This avoids various warnings about alignment on HPUX. Compare: https://github.com/Perl/perl5/compare/2cbda4a037c9...669aade32e01