[Perl/perl5] d0e6e3: edit a comment in op.c that confused me

2023-03-29 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: d0e6e389eee3c7fbbfed5c3d42b403d94b312dde
  
https://github.com/Perl/perl5/commit/d0e6e389eee3c7fbbfed5c3d42b403d94b312dde
  Author: Lukas Mai 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M op.c

  Log Message:
  ---
  edit a comment in op.c that confused me




[Perl/perl5] 0cb8a8: Perl RFC have been renamed to PPC

2023-03-29 Thread Philippe Bruhat (BooK)
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 0cb8a8732e48b31d20f1f4cd32f88eb77ac79f28
  
https://github.com/Perl/perl5/commit/0cb8a8732e48b31d20f1f4cd32f88eb77ac79f28
  Author: Philippe Bruhat (BooK) 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M pod/perl5372delta.pod
M pod/perl5376delta.pod

  Log Message:
  ---
  Perl RFC have been renamed to PPC




[Perl/perl5] 61f7d3: Update pop() docs with examples

2023-03-29 Thread Scott Baker via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 61f7d34e623e08d6cf7fc2bf2c16213c5f03d744
  
https://github.com/Perl/perl5/commit/61f7d34e623e08d6cf7fc2bf2c16213c5f03d744
  Author: Scott Baker 
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
M pod/perlfunc.pod

  Log Message:
  ---
  Update pop() docs with examples


  Commit: 705da08ddb0a131173ff13b12db7fb21a2d00a48
  
https://github.com/Perl/perl5/commit/705da08ddb0a131173ff13b12db7fb21a2d00a48
  Author: Scott Baker 
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
M pod/perlfunc.pod

  Log Message:
  ---
  Update shift() docs with examples

Make wording consistent

Foobar


  Commit: 723f1a4efab2e3c8c61fbc1dc4d56c7c539b592e
  
https://github.com/Perl/perl5/commit/723f1a4efab2e3c8c61fbc1dc4d56c7c539b592e
  Author: Scott Baker 
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
M pod/perlfunc.pod

  Log Message:
  ---
  Add a section about additional blocks


  Commit: a25cf22db7942a05b6a733ee154116929def1f2a
  
https://github.com/Perl/perl5/commit/a25cf22db7942a05b6a733ee154116929def1f2a
  Author: Scott Baker 
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
M pod/perlfunc.pod

  Log Message:
  ---
  Add docs for BEGIN, INIT, CHECK for pop()


  Commit: d25e62947b0777dedfed9171a9727adf20123adf
  
https://github.com/Perl/perl5/commit/d25e62947b0777dedfed9171a9727adf20123adf
  Author: Scott Baker 
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
M pod/perlfunc.pod

  Log Message:
  ---
  Fix some wording per @demerphq


Compare: https://github.com/Perl/perl5/compare/d31803ec1abb...d25e62947b07


[Perl/perl5] 0c2e87: t/porting/bincompat.t - test the code itself not j...

2023-03-29 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/better_bincompat_t
  Home:   https://github.com/Perl/perl5
  Commit: 0c2e87d0747ffc775fc3c30c78dd1b9bfadd0fbf
  
https://github.com/Perl/perl5/commit/0c2e87d0747ffc775fc3c30c78dd1b9bfadd0fbf
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M perl.c
M perl.h
M t/porting/bincompat.t

  Log Message:
  ---
  t/porting/bincompat.t - test the code itself not just the output

Our checks on the define info we expose via Internals::V(), especially
the sorted part, did not really work properly as it only checked defines
that are actually exposed in our standard builds.  Many of the defines
that are exposed in this list are special cases that would not be
enabled in a normal build we test under CI, and indeed prior to this
patch it was possible for us to produce unsorted output if certain
defines were enabled.

This patch adds checks that reads the actual code.  It checks that the
define and the string are the same, and it checks that strings would be
output in sorted order assuming every define was enabled.

There are two historical exceptions where the string we show and the
define use internally are different, but we work around these two cases
with as special case hash.




[Perl/perl5] 6b0a6b: ParseXS: Correct colon translation of $type in OUT...

2023-03-29 Thread Leon Timmermans via perl5-changes
  Branch: refs/heads/leont/parsexs-output-type
  Home:   https://github.com/Perl/perl5
  Commit: 6b0a6b70e6b17d0ecbd6e9d859464d55ff0f449b
  
https://github.com/Perl/perl5/commit/6b0a6b70e6b17d0ecbd6e9d859464d55ff0f449b
  Author: Leon Timmermans 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm

  Log Message:
  ---
  ParseXS: Correct colon translation of $type in OUTPUT section

The $type variable in typemaps is documented as in perlxstypemap as
"any : replaced with _", however currently it only does so in INPUT
sections. This will also make it do the same in OUTPUT sections.




[Perl/perl5] e3e0d3: ParseXS: Correct colon translation of $type in OUT...

2023-03-29 Thread Leon Timmermans via perl5-changes
  Branch: refs/heads/leont/parsexs-output-type
  Home:   https://github.com/Perl/perl5
  Commit: e3e0d34ff901c6dd31ec1188e8d8880036fdc663
  
https://github.com/Perl/perl5/commit/e3e0d34ff901c6dd31ec1188e8d8880036fdc663
  Author: Leon Timmermans 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm

  Log Message:
  ---
  ParseXS: Correct colon translation of $type in OUTPUT section

The $type variable in typemaps is documented as in perlxstypemap as
"any : replaced with _. e.g", however currently it only does so in INPUT
sections. This will also make it do the same in OUTPUT sections.




[Perl/perl5] dd09cd: regcomp.c - Resolve issues clearing buffers in CUR...

2023-03-29 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/curlyx_curlym
  Home:   https://github.com/Perl/perl5
  Commit: dd09cdb57d10f904b31baa5499a2048198a1b58b
  
https://github.com/Perl/perl5/commit/dd09cdb57d10f904b31baa5499a2048198a1b58b
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M pod/perldelta.pod
M pp_ctl.c
M regexec.c
M regexp.h
M t/re/pat.t
M t/re/pat_rt_report.t
M t/re/re_tests

  Log Message:
  ---
  regcomp.c - Resolve issues clearing buffers in CURLYX (MAJOR-CHANGE)

CURLYX doesn't reset capture buffers properly. It is possible
for multiple buffers to be defined at once with values from
different iterations of the loop, which doesn't make sense really.

An example is this:

  "foobarfoo"=~/((foo)|(bar))+/

after this matches $1 should equal $2 and $3 should be undefined,
or $1 should equal $3 and $2 should be undefined. Prior to this
patch this would not be the case.

The solution that this patches uses is to introduce a form of
"layered transactional storage" for paren data. The existing
pair of start/end data for capture data is extended with a
start_new/end_new pair. When the vast majority of our code wants
to check if a given capture buffer is defined they first check
"start_new/end_new", if either is -1 then they fall back to
whatever is in start/end.

When a capture buffer is CLOSEd the data is written into the
start_new/end_new pair instead of the start/end pair. When a CURLYX
loop is executing and has matched something (at least one "A" in
/A*B/ -- thus actually in WHILEM) it "commits" the start_new/end_new
data by writing it into start/end. When we begin a new iteration of
the loop we clear the start_new/end_new pairs that are contained by
the loop, by setting them to -1. If the loop fails then we roll back
as we used to. If the loop succeeds we continue. When we hit an END
block we commit everything.

Consider the example above. We start off with everything set to -1.

 $1 = (-1,-1):(-1,-1)
 $2 = (-1,-1):(-1,-1)
 $3 = (-1,-1):(-1,-1)

In the first iteration we have matched "foo" and end up with this:

 $1 = (-1,-1):( 0, 3)
 $2 = (-1,-1):( 0, 3)
 $3 = (-1,-1):(-1,-1)

We commit the results of $2 and $3, and then clear the new data in
the beginning of the next loop:

 $1 = (-1,-1):( 0, 3)
 $2 = ( 0, 3):(-1,-1)
 $3 = (-1,-1):(-1,-1)

We then match "bar":

 $1 = (-1,-1):( 0, 3)
 $2 = ( 0, 3):(-1,-1)
 $3 = (-1,-1):( 3, 7)

and then commit the result and clear the new data:

 $1 = (-1,-1):( 0, 3)
 $2 = (-1,-1):(-1,-1)
 $3 = ( 3, 7):(-1,-1)

and then we match "foo" again:

 $1 = (-1,-1):( 0, 3)
 $2 = (-1,-1):( 7,10)
 $3 = ( 3, 7):(-1,-1)

And we then commit. We do a regcppush here as normal.

 $1 = (-1,-1):( 0, 3)
 $2 = ( 7,10):( 7,10)
 $3 = (-1,-1):(-1,-1)

We then clear it again, but since we don't match when we regcppop
we store the buffers back to the above layout. When we finally
hit the END buffer we also do a commit as well on all buffers, including
the 0th (for the full match).

Fixes GH Issue #18865, and adds tests for it and other things.




[Perl/perl5]

2023-03-29 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/hpux_build_warning_suppression
  Home:   https://github.com/Perl/perl5


[Perl/perl5] 663830: perl.h - silence certain warnings on HPUX globally.

2023-03-29 Thread Yves Orton via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 663830b3656805dfa9415c7fb5ba22096f1b03b3
  
https://github.com/Perl/perl5/commit/663830b3656805dfa9415c7fb5ba22096f1b03b3
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M handy.h
M perl.h

  Log Message:
  ---
  perl.h - silence certain warnings on HPUX globally.

There are two warnings classes which account for a very large number of
the warnings produced when building on HPUX Itanium. We know the cause
of these warnings and we are ok with ignoring them.

One set comes from our memory wrap checks, where we end up doing a
comparison against constants in certain conditions. See the comments in
handy.h line 2723 related to PERL_MALLOC_WRAP.

The other set comes from our common "trick" of doing OO in C code with
casting. This is the foundation of how we manage SV types and how we
manage regular expression ops (regops).

If this logic really was a problem then we would have lots of test
failures and segfaults, and we do not, so we can silence them.


  Commit: b292ecb4e4450921a8424ad87000f49bd9c858de
  
https://github.com/Perl/perl5/commit/b292ecb4e4450921a8424ad87000f49bd9c858de
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M regcomp.h

  Log Message:
  ---
  regcomp.h - use different struct member names for U8 vs U32 str_len

It is confusing to have two different members, at different struct
offsets and with different sizes, with the same name. So rename them
so they have different names that include their size so it is obvious
what is going on.


  Commit: 44eb4cdc274114db740861e4a116ffce3371d70f
  
https://github.com/Perl/perl5/commit/44eb4cdc274114db740861e4a116ffce3371d70f
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 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: 19ed09803687be5ff50321b9acf3053b5ce80215
  
https://github.com/Perl/perl5/commit/19ed09803687be5ff50321b9acf3053b5ce80215
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 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: c9bcbc57be3bba2d29d280f4a30fae62fc5bf48f
  
https://github.com/Perl/perl5/commit/c9bcbc57be3bba2d29d280f4a30fae62fc5bf48f
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M op.c

  Log Message:
  ---
  op.c - deal with not-reached statement warning

The return statement could never be reached as the while loop
is while(1) and there is no break statement inside of it. This
patch replaces the 'return arg;' with a NOT_REACHED; assertion,
just in case someone does add a break later on without thinking.


  Commit: d3eb75f09d0fc0005b3a7e16f3742854fe3899f4
  
https://github.com/Perl/perl5/commit/d3eb75f09d0fc0005b3a7e16f3742854fe3899f4
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M pp_sys.c

  Log Message:
  ---
  pp_sys.c - suppress warning about comparison to unsigned value


  Commit: b22f2577edce6f40d11ab38436aa601bdbaba63b
  
https://github.com/Perl/perl5/commit/b22f2577edce6f40d11ab38436aa601bdbaba63b
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 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: fe67e58303186e966b34e7dbff135b02fbef325e
  
https://github.com/Perl/perl5/commit/fe67e58303186e966b34e7dbff135b02fbef325e
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 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: cb6188df375141f4ec9f33cc918fd640b1ff81b6
  
https://github.com/Perl/perl5/commit/cb6188df375141f4ec9f33cc918fd640b1ff81b6
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M hv.c
M perl.c
M sv.c

  Log Message:
  ---
  sv.c - don't cast SVTYPEMASK to

[Perl/perl5] b66b10: Automatically test without taint support

2023-03-29 Thread David Cantrell via perl5-changes
  Branch: refs/heads/yves/taint_disabled
  Home:   https://github.com/Perl/perl5
  Commit: b66b101dd02b5e1e52dc95997ceb3d6920dd8a49
  
https://github.com/Perl/perl5/commit/b66b101dd02b5e1e52dc95997ceb3d6920dd8a49
  Author: David Cantrell 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M .github/workflows/testsuite.yml

  Log Message:
  ---
  Automatically test without taint support




[Perl/perl5]

2023-03-29 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/hpux_build_warning_suppression_test
  Home:   https://github.com/Perl/perl5


[Perl/perl5] a0b42a: perl.h - silence certain warnings on HPUX globally.

2023-03-29 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/hpux_build_warning_suppression
  Home:   https://github.com/Perl/perl5
  Commit: a0b42a15183d5c023db7a8cead21145a00bcab7b
  
https://github.com/Perl/perl5/commit/a0b42a15183d5c023db7a8cead21145a00bcab7b
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M handy.h
M perl.h

  Log Message:
  ---
  perl.h - silence certain warnings on HPUX globally.

There are two warnings classes which account for a very large number of
the warnings produced when building on HPUX Itanium. We know the cause
of these warnings and we are ok with ignoring them.

One set comes from our memory wrap checks, where we end up doing a
comparison against constants in certain conditions. See the comments in
handy.h line 2723 related to PERL_MALLOC_WRAP.

The other set comes from our common "trick" of doing OO in C code with
casting. This is the foundation of how we manage SV types and how we
manage regular expression ops (regops).

If this logic really was a problem then we would have lots of test
failures and segfaults, and we do not, so we can silence them.


  Commit: 7f8806aea6b68a7ff371ab73a99846a7e737cde4
  
https://github.com/Perl/perl5/commit/7f8806aea6b68a7ff371ab73a99846a7e737cde4
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M regcomp.h

  Log Message:
  ---
  regcomp.h - use different struct member names for U8 vs U32 str_len

It is confusing to have two different members, at different struct
offsets and with different sizes, with the same name. So rename them
so they have different names that include their size so it is obvious
what is going on.


  Commit: ca7b6a932ef96fee76d0ffcb781a1b392ea0fc79
  
https://github.com/Perl/perl5/commit/ca7b6a932ef96fee76d0ffcb781a1b392ea0fc79
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 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: 7395cfa51df1c8e96dc23a83e62d36ddefe4f08f
  
https://github.com/Perl/perl5/commit/7395cfa51df1c8e96dc23a83e62d36ddefe4f08f
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 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: 9b8363f14a2322d831a5208763598fb9f77c3b3e
  
https://github.com/Perl/perl5/commit/9b8363f14a2322d831a5208763598fb9f77c3b3e
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M op.c

  Log Message:
  ---
  op.c - deal with not-reached statement warning

The return statement could never be reached as the while loop
is while(1) and there is no break statement inside of it. This
patch replaces the 'return arg;' with a NOT_REACHED; assertion,
just in case someone does add a break later on without thinking.


  Commit: 9a97e2daadfe9f194e7d35819cb8d4e85580e5f9
  
https://github.com/Perl/perl5/commit/9a97e2daadfe9f194e7d35819cb8d4e85580e5f9
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M pp_sys.c

  Log Message:
  ---
  pp_sys.c - suppress warning about comparison to unsigned value


  Commit: ab2ab76139f2c72d70c577b98d72eec6a51f5b49
  
https://github.com/Perl/perl5/commit/ab2ab76139f2c72d70c577b98d72eec6a51f5b49
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 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: 132ac55ed5a1f6771e4fad9dd53df9819934ccfa
  
https://github.com/Perl/perl5/commit/132ac55ed5a1f6771e4fad9dd53df9819934ccfa
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 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: 1bbcca4d4aa0378c92fa47274e205349df318b16
  
https://github.com/Perl/perl5/commit/1bbcca4d4aa0378c92fa47274e205349df318b16
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M hv.c
M perl.c
M sv.c

  Log Message:
  ---
  s

[Perl/perl5] c18cac: no NOT_REACHED

2023-03-29 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/hpux_build_warning_suppression_test
  Home:   https://github.com/Perl/perl5
  Commit: c18cacdabf88135ca1e84143b0a31906aa5174f6
  
https://github.com/Perl/perl5/commit/c18cacdabf88135ca1e84143b0a31906aa5174f6
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M op.c

  Log Message:
  ---
  no NOT_REACHED




[Perl/perl5] 367147: while 1 + NOT_REACHED

2023-03-29 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/hpux_build_warning_suppression_test
  Home:   https://github.com/Perl/perl5
  Commit: 367147beaa8c7aef16f4fc9f5ba6f93b8a365935
  
https://github.com/Perl/perl5/commit/367147beaa8c7aef16f4fc9f5ba6f93b8a365935
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M op.c

  Log Message:
  ---
  while 1 + NOT_REACHED




[Perl/perl5] 622639: while o

2023-03-29 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/hpux_build_warning_suppression_test
  Home:   https://github.com/Perl/perl5
  Commit: 622639c07786775403c22ff88e715185598193c8
  
https://github.com/Perl/perl5/commit/622639c07786775403c22ff88e715185598193c8
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M op.c

  Log Message:
  ---
  while o




[Perl/perl5] c73e36: revert back to while 1

2023-03-29 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/hpux_build_warning_suppression
  Home:   https://github.com/Perl/perl5
  Commit: c73e36f4d3bdeeff6a0ad044e069e6fd6198035a
  
https://github.com/Perl/perl5/commit/c73e36f4d3bdeeff6a0ad044e069e6fd6198035a
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M op.c

  Log Message:
  ---
  revert back to while 1




[Perl/perl5] 81a3d2: replace croak with NOT_REACHED, add back return arg

2023-03-29 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/hpux_build_warning_suppression
  Home:   https://github.com/Perl/perl5
  Commit: 81a3d26eeea18f2df3ec2da4219e0fce12b4d4a6
  
https://github.com/Perl/perl5/commit/81a3d26eeea18f2df3ec2da4219e0fce12b4d4a6
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M op.c

  Log Message:
  ---
  replace croak with NOT_REACHED, add back return arg




[Perl/perl5] d33b68: add back croak

2023-03-29 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/hpux_build_warning_suppression
  Home:   https://github.com/Perl/perl5
  Commit: d33b68b79fc38caedf77e3beffa331f6a8329eb0
  
https://github.com/Perl/perl5/commit/d33b68b79fc38caedf77e3beffa331f6a8329eb0
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M op.c

  Log Message:
  ---
  add back croak




[Perl/perl5] 776aa0: try NOT_REACHED in op.c

2023-03-29 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/hpux_build_warning_suppression
  Home:   https://github.com/Perl/perl5
  Commit: 776aa0352ad7f59e7c30889114945c823e7bf790
  
https://github.com/Perl/perl5/commit/776aa0352ad7f59e7c30889114945c823e7bf790
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M op.c

  Log Message:
  ---
  try NOT_REACHED in op.c




[Perl/perl5] 1923a2: Config.pm - add taint_disabled and taint_support t...

2023-03-29 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/taint_disabled
  Home:   https://github.com/Perl/perl5
  Commit: 1923a28acc0e8b0f51f93443f73a7655b4335be8
  
https://github.com/Perl/perl5/commit/1923a28acc0e8b0f51f93443f73a7655b4335be8
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M configpm
M lib/Config.t

  Log Message:
  ---
  Config.pm - add taint_disabled and taint_support to %Config

This adds 'taint_disabled' and 'taint_support' to Config.pm and %Config.
This way people can use them while we decide what to do about the
changes to Configure. We shouldn't need to have Configure changed to
export status variables like this in Config.pm

See: https://github.com/Perl-Toolchain-Gang/Test-Harness/pull/118
and: https://github.com/Perl/perl5/pull/20972

for related work that is stalled because we have not decided what
to do about these variables.




[Perl/perl5] 626ba2: Config.pm - add taint_disabled and taint_support t...

2023-03-29 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/taint_disabled
  Home:   https://github.com/Perl/perl5
  Commit: 626ba2e9d0869fdff6cd6c80db77ef15b10eb8c3
  
https://github.com/Perl/perl5/commit/626ba2e9d0869fdff6cd6c80db77ef15b10eb8c3
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M configpm
M lib/Config.t

  Log Message:
  ---
  Config.pm - add taint_disabled and taint_support to %Config

This adds taint_disabled and taint_support to Config. This way
people can use them while we decided what to do about the changes
to Configured itself.




[Perl/perl5] 5fc9ca: perl.h - silence certain warnings on HPUX globally.

2023-03-29 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/hpux_build_warning_suppression
  Home:   https://github.com/Perl/perl5
  Commit: 5fc9cae41ca6beabb76d0642385d529ddaa32aaa
  
https://github.com/Perl/perl5/commit/5fc9cae41ca6beabb76d0642385d529ddaa32aaa
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M handy.h
M perl.h

  Log Message:
  ---
  perl.h - silence certain warnings on HPUX globally.

There are two warnings classes which account for a very large number of
the warnings produced when building on HPUX Itanium. We know the cause
of these warnings and we are ok with ignoring them.

One set comes from our memory wrap checks, where we end up doing a
comparison against constants in certain conditions. See the comments in
handy.h line 2723 related to PERL_MALLOC_WRAP.

The other set comes from our common "trick" of doing OO in C code with
casting. This is the foundation of how we manage SV types and how we
manage regular expression ops (regops).

If this logic really was a problem then we would have lots of test
failures and segfaults, and we do not, so we can silence them.


  Commit: 0fc39f8f8906a3aa684f0e9b0df4062ce9dea72e
  
https://github.com/Perl/perl5/commit/0fc39f8f8906a3aa684f0e9b0df4062ce9dea72e
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M regcomp.h

  Log Message:
  ---
  regcomp.h - use different struct member names for U8 vs U32 str_len

It is confusing to have two different members, at different struct
offsets and with different sizes, with the same name. So rename them
so they have different names that include their size so it is obvious
what is going on.


  Commit: e76c02a5ee95271732cf1db9226a371dfc669d77
  
https://github.com/Perl/perl5/commit/e76c02a5ee95271732cf1db9226a371dfc669d77
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 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: b8f3c22a245ebb8c4ec52db90a5ffe59073d57b6
  
https://github.com/Perl/perl5/commit/b8f3c22a245ebb8c4ec52db90a5ffe59073d57b6
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 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: b72b74555e6e7bffe7b8cfd4d58e83df2578c8cd
  
https://github.com/Perl/perl5/commit/b72b74555e6e7bffe7b8cfd4d58e83df2578c8cd
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 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: 0fd5021559a31c069cf2eed0e5671558314b36c0
  
https://github.com/Perl/perl5/commit/0fd5021559a31c069cf2eed0e5671558314b36c0
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M pp_sys.c

  Log Message:
  ---
  pp_sys.c - suppress warning about comparison to unsigned value


  Commit: 72054e2869e0b0195f7dc09737d971ad6cadfd1c
  
https://github.com/Perl/perl5/commit/72054e2869e0b0195f7dc09737d971ad6cadfd1c
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 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: f2d57d4e4c4e2df11798abf55e32097904e46bb5
  
https://github.com/Perl/perl5/commit/f2d57d4e4c4e2df11798abf55e32097904e46bb5
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 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: 7de7c398422c9735f8322a71b9efb7f7caab5dc4
  
https://github.com/Perl/perl5/commit/7de7c398422c9735f8322a71b9efb7f7caab5dc4
  Author: Yves Orton 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M hv.c
M perl.c
M sv.c

  Log Message:
  ---
  sv.c - don't cast SVTYPEMASK to svtype, us