This is a live mirror of the Perl 5 development currently hosted at
8 months agoperl.h: Add comment
Karl Williamson [Sat, 18 Jul 2020 13:14:29 +0000 (07:14 -0600)]
perl.h: Add comment

8 months agoregcomp.c: Fix grammar in comment
Karl Williamson [Wed, 22 Jul 2020 23:09:46 +0000 (17:09 -0600)]
regcomp.c: Fix grammar in comment

8 months agoSwitch EXTENDED_TESTING logic to avoid failure notifications.
John Lightsey [Fri, 31 Jul 2020 22:53:37 +0000 (17:53 -0500)]
Switch EXTENDED_TESTING logic to avoid failure notifications.

This sets a variable to skip or run jobs in the github workflow rather
using a workflow failure to stop early. Failing the workflow sends
unnecessary notifications.

8 months agosplit IRC notification between blead changes and non blead changes
☢ ℕicolas ℝ [Fri, 31 Jul 2020 23:39:14 +0000 (17:39 -0600)]
split IRC notification between blead changes and non blead changes

8 months agoUse GitHub action to send IRC notifications
☢ ℕicolas ℝ [Fri, 31 Jul 2020 23:34:18 +0000 (17:34 -0600)]
Use GitHub action to send IRC notifications

This is a first iteration advertising to #p5p-commits.

The action for 'inBlead' needs to be altered.
Once stable, I would also port the existing bot
to this workflow so anyone can tweak/adjust it.

8 months agoTry using hasConflicts tag
Nicolas R [Fri, 31 Jul 2020 13:13:27 +0000 (07:13 -0600)]
Try using hasConflicts tag

The action cannot find the tag using a space.

8 months agoperl.h: Fix comment
Karl Williamson [Fri, 31 Jul 2020 12:24:26 +0000 (06:24 -0600)]
perl.h: Fix comment

8 months agoutf8.h: Add comment
Karl Williamson [Fri, 31 Jul 2020 12:23:57 +0000 (06:23 -0600)]
utf8.h: Add comment

8 months agoregcomp.c: Use get_cvs(), a clearer short cut
Karl Williamson [Fri, 31 Jul 2020 12:22:49 +0000 (06:22 -0600)]
regcomp.c: Use get_cvs(), a clearer short cut

8 months agoos2.c: Use PerlEnv_getenv
Karl Williamson [Sun, 8 Mar 2020 00:03:36 +0000 (17:03 -0700)]
os2.c: Use PerlEnv_getenv

which has added protections beyond plain getenv()

8 months agoReposition tests for formats
James E Keenan [Thu, 30 Jul 2020 12:39:49 +0000 (08:39 -0400)]
Reposition tests for formats

Formats can be declared anywhere within a file, but, per
pod/perlform.pod, it's best to declare them near where they are being
used or referenced.


8 months agot/op/while.t: Correct two typos
James E Keenan [Fri, 31 Jul 2020 10:51:49 +0000 (06:51 -0400)]
t/op/while.t: Correct two typos

In commit 138b823057 (written Nov 12 2009 but not committed until Jan 8
2011), contributor apparently intended to declare two scalar variables
with 'my': "my ($got_var, $got_i)".  However, the variables declared
were arrays: "my (@got_var, @got_i)".

These two variables were not subsequently used within the block and, in
principle, could be removed without affecting the test results.  But
since the contributor's intent was to make the file somewhat more
strict-compliant, it makes more sense to change the variables to
scalars, after which the variables are actually used within the block
and all tests continue to pass.

8 months agofix typo in example
Karen Etheridge [Fri, 31 Jul 2020 03:46:36 +0000 (20:46 -0700)]
fix typo in example

thanks Deji Adegbite! via

8 months agoDocument warning 'readline() on unopened filehandle %s'
James E Keenan [Sat, 4 Jul 2020 19:30:27 +0000 (15:30 -0400)]
Document warning 'readline() on unopened filehandle %s'

Place it in category: (W unopened).

Signed-off-by: James E Keenan <>

8 months agoFix Math-Complex issue in test suite
Nicolas R [Mon, 29 Jun 2020 16:24:24 +0000 (10:24 -0600)]
Fix Math-Complex issue in test suite

By enabling strict and warnings in the testsuite
we could notice that t/Complex.t was testing
some functions not exported by Math::Complex:
- _stringify_cartesian
- _stringify_polar

This commit enable strict/warnings for the testsuite
and fix the test issue.

The customized VERSION is also bumped.

8 months agoAutomatically tags Pull Requests with conflicts
☢ ℕicolas ℝ [Thu, 30 Jul 2020 23:36:51 +0000 (17:36 -0600)]
Automatically tags Pull Requests with conflicts

The goal is too quickly identify the pending pull
requests with conflicts.

8 months ago(perl #17844) don't update SvCUR until after we've done moving
Tony Cook [Mon, 15 Apr 2019 05:23:32 +0000 (15:23 +1000)]
(perl #17844) don't update SvCUR until after we've done moving

SvCUR() before the SvGROW() calls could result in reading beyond the
end of a buffer.

It wasn't a problem in the normal case, since sv_grow() just calls
realloc() which has its own notion of how big the memory block is, but
if the SV is SvOOK() sv_backoff() tries to move SvCUR()+1 bytes, which
might be larger than the currently allocated size of the PV.

8 months agoComply old C-standart
Ivan Baidakou [Thu, 11 Jun 2020 20:09:15 +0000 (23:09 +0300)]
Comply old C-standart

8 months agoTry to fix for MSVC
Ivan Baidakou [Thu, 11 Jun 2020 18:53:48 +0000 (21:53 +0300)]
Try to fix for MSVC

8 months agoFix AUTHORS
Ivan Baidakou [Thu, 11 Jun 2020 17:38:08 +0000 (20:38 +0300)]

8 months agoUpdate AUTHORS
Ivan Baidakou [Thu, 11 Jun 2020 16:44:37 +0000 (19:44 +0300)]

8 months agoCorrect my_rpeep example in perlguts
Ivan Baidakou [Thu, 11 Jun 2020 15:33:17 +0000 (18:33 +0300)]
Correct my_rpeep example in perlguts

The example of my_rpeep in perlguts has an issue that
it might never stop iterating if there is a cycle in
OP tree. For example in the repository

it hangs when starts executing

The right traversal was originally taken from

8 months agoNote range op behavior change in docs
Hauke D [Mon, 10 Feb 2020 19:24:35 +0000 (20:24 +0100)]
Note range op behavior change in docs

This change documents the previous behavior of the range operator with magic string increment in Perl 5.30 and below - the change was introduced in commit d1bc97feec from GitHub #16770 (RT133695).

8 months agoperl5db: allow the recorded history item length to be configured
Ricardo Signes [Mon, 6 Apr 2020 13:43:51 +0000 (09:43 -0400)]
perl5db: allow the recorded history item length to be configured

This requires a few small changes.

1. add a new option, which I stored in what looked like one of the
   standard ways
2. only store the item in terminal history if >= this length
3. only add to @hist if >= this length
4. only display hist item if >= this length

I believe #4 is redundant and should be removed, but the code was
already effectively there.

8 months agoFull revert of 894d8b10212a906402f4db9f9aac9efe9fa084fd
Nicolas R [Thu, 30 Jul 2020 23:06:46 +0000 (18:06 -0500)]
Full revert of 894d8b10212a906402f4db9f9aac9efe9fa084fd

8 months agoRevert "Small changes to test on bugzilla and improve compatibility"
Nicolas R [Thu, 30 Jul 2020 22:57:32 +0000 (17:57 -0500)]
Revert "Small changes to test on bugzilla and improve compatibility"

This is a partial revert to remove utf8->import
which breaks Storable

This reverts commit 894d8b10212a906402f4db9f9aac9efe9fa084fd.

8 months agoAdd missing removal of FCRYPT macro use after rebase
Todd Rinaldo [Thu, 30 Jul 2020 23:00:31 +0000 (18:00 -0500)]
Add missing removal of FCRYPT macro use after rebase

Fixup for #17624

8 months agoreentr.c: Prevent infinite looping
Karl Williamson [Thu, 12 Mar 2020 18:48:47 +0000 (12:48 -0600)]
reentr.c: Prevent infinite looping

This is an easy, though  paranoid hedge to prevent something that should
never happen from causing an infinite loop if it were to happen.

8 months agoAdd missing MANIFEST entry from fix for debugger
Todd Rinaldo [Thu, 30 Jul 2020 22:42:47 +0000 (17:42 -0500)]
Add missing MANIFEST entry from fix for debugger

Add on fix to #17901

8 months agoFixing intrpvar.h from recent merge
Nicolas R [Thu, 30 Jul 2020 22:33:37 +0000 (17:33 -0500)]
Fixing intrpvar.h from recent merge

This was broken with the change from

8 months agoutf8.h: Remove obsolete macro
Karl Williamson [Fri, 12 Jun 2020 18:36:13 +0000 (12:36 -0600)]
utf8.h: Remove obsolete macro

It turns out that this macro would have failed to compile since
commit 538b546eb0f252250a30c08e6af47d0ea7433fa1, in October 2013.  So it
is clear no one is using it.

8 months agoregexec.c: Use UTF8SKIP for utf8 string
Karl Williamson [Sat, 6 Jun 2020 14:39:58 +0000 (08:39 -0600)]
regexec.c: Use UTF8SKIP for utf8 string

This code was advancing per-byte on a UTF-8 string, which still works,
but is slower than need be.

8 months agoRevert "regcomp: use long jumps if there is any possibility of overflow"
Karl Williamson [Wed, 3 Jun 2020 21:12:07 +0000 (15:12 -0600)]
Revert "regcomp: use long jumps if there is any possibility of overflow"

This reverts commit 4b4b1fbd0d43429c43d5de8857f3266daba1dd66.

That fix was intended as a fail-safe, and left in 5.32.  But, other
changes in blead, chiefly always checking the return of reginsert,
should have made this commit unnecessary.  Now that it is early in the
development cycle, revert it.

8 months agoregcomp.c: Improve pattern dumps
Karl Williamson [Fri, 29 May 2020 21:03:44 +0000 (15:03 -0600)]
regcomp.c: Improve pattern dumps

Instead of saying [x-y], say [xy].

8 months agoregcomp.c: No need to test before setting
Karl Williamson [Fri, 29 May 2020 21:00:12 +0000 (15:00 -0600)]
regcomp.c: No need to test before setting

It's cheaper to just set unconditionally than add a condition to see if
it has already been done.

8 months agoregcomp.c: Replace 2 branches with a single inRANGE
Karl Williamson [Sun, 5 Apr 2020 12:15:30 +0000 (06:15 -0600)]
regcomp.c: Replace 2 branches with a single inRANGE

8 months agoregcomp.c: Remove SPSTART flag
Karl Williamson [Fri, 14 Feb 2020 16:23:21 +0000 (09:23 -0700)]
regcomp.c: Remove SPSTART flag

This flag is set but not examined, so is useless.  Research by Hugo
van der Sanden indicates its value has never been used.

See the thread starting at

8 months agoregcomp.c: Remove WORST define
Karl Williamson [Fri, 14 Feb 2020 15:41:40 +0000 (08:41 -0700)]
regcomp.c: Remove WORST define

The is not used and is actually 0, so does nothing as a flag, except
when initializing.

See the thread starting at

8 months agoTime-HiRes: Remove obsolete vms code
Karl Williamson [Sun, 8 Mar 2020 17:53:55 +0000 (11:53 -0600)]
Time-HiRes: Remove obsolete vms code

This code became irrelevant in 1996.


8 months agoreentr.c: Buffer sizes for asctime_r,ctime_r are small
Karl Williamson [Tue, 10 Mar 2020 21:19:57 +0000 (15:19 -0600)]
reentr.c: Buffer sizes for asctime_r,ctime_r are small

The needed sizes of these are stated in the man pages, and are much
smaller than were being allocated.

8 months agoNo need to use locale_r with thread-safe locales
Karl Williamson [Tue, 10 Mar 2020 21:28:38 +0000 (15:28 -0600)]
No need to use locale_r with thread-safe locales

These use a completely different mechanism.

8 months agoUse quoted strings to compare 5.031006 in
Todd Rinaldo [Thu, 30 Jul 2020 22:31:41 +0000 (17:31 -0500)]
Use quoted strings to compare 5.031006 in

8 months agoFixup AUTHORS with recent merges
Nicolas R [Thu, 30 Jul 2020 22:31:33 +0000 (17:31 -0500)]
Fixup AUTHORS with recent merges

8 months agoAdjust AUTHORS file with new authors
Nicolas R [Thu, 30 Jul 2020 22:17:05 +0000 (17:17 -0500)]
Adjust AUTHORS file with new authors

8 months agoDo not load in above 5.31.6
Todd Rinaldo [Thu, 30 Jul 2020 22:22:01 +0000 (17:22 -0500)]
Do not load in above 5.31.6

This is a fixup for #17969 which wanted to load but
it is no longer available as of 5.31.6

8 months agoRemove obsolete FCRYPT ifdefs and associated PL_cryptseen (#17624)
Richard Leach [Thu, 30 Jul 2020 22:18:41 +0000 (23:18 +0100)]
Remove obsolete FCRYPT ifdefs and associated PL_cryptseen (#17624)

Co-authored-by: Karl Williamson <>
8 months agoHaiku use finddir for default prefix in hints
Thibault DUPONCHELLE [Sat, 13 Jun 2020 14:42:57 +0000 (16:42 +0200)]
Haiku use finddir for default prefix in hints

8 months agoAlign to haiku ports (+ keep some extra) and set path dynamically
Thibault DUPONCHELLE [Sat, 13 Jun 2020 13:39:02 +0000 (15:39 +0200)]
Align to haiku ports (+ keep some extra) and set path dynamically

8 months agore-work opslab handling to avoid non-portable alignment assumptions
Tony Cook [Thu, 25 Jun 2020 05:26:32 +0000 (15:26 +1000)]
re-work opslab handling to avoid non-portable alignment assumptions

Fixes #17871

The op slab allocator code made the assumption that since OP and
hence OPSLOT contain pointers, the base of each of those would be
an integral number of sizeof(pointer) (pointer units) from the
beginning of OPSLAB.

This assumption is non-portable, and broke calculating the location
of the slab based on the address of the op slot and the op slot offset
on m68k platforms.

To avoid that, this change now stores the opslot_offset as the
offset in pointer units from the beginning of opslab_slots rather
than from the beginning of the slab.

If alignment on a pointer boundary for OPs is required, the compiler
will align opslab_opslots and since we work in pointer units from there,
any allocated op slots will also be aligned.

If we assume PADOFFSET is no larger than a pointer and requires no
stricter alignment and structures in themselves have no stricter
alignment requirements then since we work in pointer units all core
OP structures should have sufficient alignment (if this isn't true,
then it's not a new problem, and not the problem I'm trying to solve

I haven't been able to test this on m68k hardware (the emulator I
tried to use can't maintain a network connection.)

8 months agoRevert "op.h: Add additional padding to struct opslab to ensure proper alignment"
Tony Cook [Tue, 23 Jun 2020 04:19:43 +0000 (14:19 +1000)]
Revert "op.h: Add additional padding to struct opslab to ensure proper alignment"

This reverts commit a760468c9355bafaee57e94f13705c0ea925d9ca.

This change is fragile, the next change avoids the need for such
manual padding.

8 months agoAlways expose the perl_tsa_mutex_* functions when threads are enabled
Tom Stellard [Thu, 14 May 2020 23:51:15 +0000 (23:51 +0000)]
Always expose the perl_tsa_mutex_* functions when threads are enabled

These functions were only part of the API if perl is built with clang.
However perl modules built with clang still try to use them even
when perl itself is built with gcc.  This patch replaces the #ifdef PERL_TSA_ACTIVE
around these functions with defined(USE_ITHREADS) && defined(I_PTHREAD)
so they are always available when treading is enabled.  This fixes the clang build of
perl modules when perl is built with gcc.

8 months agocorelist - print a better error message if unknown versions are passed to corelist...
Dan Book [Wed, 20 May 2020 00:22:46 +0000 (20:22 -0400)]
corelist - print a better error message if unknown versions are passed to corelist --diff

8 months agoreport the index for not found hash/array index lookups in report_uninit()
Tony Cook [Mon, 1 Jun 2020 06:11:50 +0000 (16:11 +1000)]
report the index for not found hash/array index lookups in report_uninit()

where the index is a non-magical, non-reference variable.

This only works where the op is converted to OP_MULTIDEREF, but that
should be happening for the simple cases this handles.

An alternative would be to report the index variable name rather than
the index, but that seems less useful to me.

8 months agoPorting/makerel: add cleanup option
Nicolas R [Fri, 5 Jun 2020 18:15:07 +0000 (12:15 -0600)]
Porting/makerel: add cleanup option

We can now run 'Porting/makerel -c' to cleanup
and generate the tarball.

8 months agoPorting/makerel - check for xz
Nicolas R [Fri, 5 Jun 2020 18:08:25 +0000 (12:08 -0600)]
Porting/makerel - check for xz

In addition to the .tar.gz file also abort when one .xz file
already exists.

8 months agoUpdate Net-Ping from 2.72 to 2.73
Nicolas R [Thu, 23 Jul 2020 15:07:24 +0000 (09:07 -0600)]
Update Net-Ping from 2.72 to 2.73

Fix #17992

This is preserving customized tests
and mark them as customized.

8 months agoClearing DB::action at the end is no longer needed
E. Choroba [Mon, 27 Jul 2020 09:32:51 +0000 (11:32 +0200)]
Clearing DB::action at the end is no longer needed

as it's cleared right after it's been run.

8 months agoAfter running an action in the debugger, turn it off
E. Choroba [Fri, 26 Jun 2020 19:19:24 +0000 (21:19 +0200)]
After running an action in the debugger, turn it off

When running with "c", there was no problem, but when running with "n"
or "s", once the action was executed, it kept executing on the
following lines, which wasn't expected. Clearing $action here prevents
this unwanted behaviour.

8 months agoFix indirect method call in ExtUtils::Constant test
Dagfinn Ilmari Mannsåker [Mon, 13 Jul 2020 21:08:45 +0000 (22:08 +0100)]
Fix indirect method call in ExtUtils::Constant test

It puts both "use $];" and "bootstrap $package \$VERSION;" in the
generated test module, which is going to break if we ever remove
`indirect` from the current feature bundle.

Fix by making the method call direct instead.

8 months agoput version directly in Exporter::Heavy
Graham Knop [Thu, 9 Jul 2020 15:22:07 +0000 (17:22 +0200)]
put version directly in Exporter::Heavy

Modules should have their version number directly in the module, not try
to pull it in from another module. The Exporter module that would be
loaded may not correspond to the Exporter::Heavy that is having its
version checked. Generally, pulling a version from another module would
fail on something like PAUSE or a CPAN client, but because Exporter is
probably already loaded, the old code would usually just pick the
version of the currently installed Exporter, rather than the one
corresponding to the Exporter::Heavy module that is being checked.

8 months agoFuture proof version check
Adam Hartley [Thu, 23 Jul 2020 18:53:07 +0000 (19:53 +0100)]
Future proof version check

8 months agoUpdate
Adam Hartley [Wed, 22 Jul 2020 12:15:53 +0000 (13:15 +0100)]

8 months agoSimplify syscall check
Adam Hartley [Wed, 22 Jul 2020 12:15:30 +0000 (13:15 +0100)]
Simplify syscall check

8 months agoUpdate deprecated syscall check for 11.x and greater
Adam Hartley [Sat, 11 Jul 2020 10:41:27 +0000 (11:41 +0100)]
Update deprecated syscall check for 11.x and greater

8 months agoUpdate error message
Adam Hartley [Wed, 8 Jul 2020 18:10:33 +0000 (19:10 +0100)]
Update error message

8 months agoUpdate AUTHORS
Adam Hartley [Wed, 8 Jul 2020 18:04:45 +0000 (19:04 +0100)]

8 months agoAdd 11.x support for
Adam Hartley [Mon, 6 Jul 2020 21:59:42 +0000 (22:59 +0100)]
Add 11.x support for

8 months agoUpdate regen/
☢ ℕicolas ℝ [Wed, 29 Jul 2020 17:23:01 +0000 (11:23 -0600)]
Update regen/

Features bundles are built on top of each other.

This change make it easier to read what features
were added from one version to another.
It also helps identify similar bundles.

Features are also now sorted on pod.

Enforce strict & warnings to generate

8 months agoIO::Socket::UNIX: synchronize behavior with module documentation (#17787)
vividsnow [Thu, 30 Jul 2020 21:37:58 +0000 (00:37 +0300)]
IO::Socket::UNIX: synchronize behavior with module documentation (#17787)

* synchronize behavior with module documentation

IO::Socket docs states that passing Blocking => 0 will be set socket to non-blocking mode

* Update AUTHORS
* bump version

8 months agopp.c/pp_hot.c - add NV<->NV case to numerical comparison ops
Richard Leach [Tue, 2 Jun 2020 21:48:06 +0000 (22:48 +0100)]
pp.c/pp_hot.c - add NV<->NV case to numerical comparison ops

8 months agoFix 404 and text in New Unicode properties section
raiph [Thu, 2 Jul 2020 16:30:07 +0000 (17:30 +0100)]
Fix 404 and text in New Unicode properties section


I found a 404, and an "old" link. I investigated.

My conclusion was UC have landed new TR18 and TR39 since text in section
  New Unicode properties Identifier_Status and Identifier_Type supported
was written.

I've guessed at a suitable update.

8 months agobump IO to 1.44
Tony Cook [Tue, 12 May 2020 01:27:09 +0000 (11:27 +1000)]
bump IO to 1.44

and update the ChangeLog

8 months agoIO::Handle: clear the error on both input and output streams
Tony Cook [Tue, 12 May 2020 00:59:08 +0000 (10:59 +1000)]
IO::Handle: clear the error on both input and output streams

Similarly to GH #6799 clearerr() only cleared the error status
of the input stream, so clear both.

8 months agomake $fh->error report errors from both input and output
Tony Cook [Tue, 12 May 2020 00:29:17 +0000 (10:29 +1000)]
make $fh->error report errors from both input and output

For character devices and sockets perl uses separate PerlIO objects
for input and output so they can be buffered separately.

The IO::Handle::error() method only checked the input stream, so
if a write error occurs error() would still returned false.

Change this so both the input and output streams are checked.

fixes #6799

8 months agodocument the unary minus exception for barewords
Tony Cook [Mon, 8 Jun 2020 04:17:23 +0000 (14:17 +1000)]
document the unary minus exception for barewords

This exception is deliberate, code in op.c explicitly prevents this
from producing an error under use strict.

8 months agouse semicolon to separate statements
Graham Knop [Tue, 2 Jun 2020 19:03:12 +0000 (21:03 +0200)]
use semicolon to separate statements

One of the statements in was terminated with a comma rather
than a semicolon, most likely as a typo. There's no reason for it to be
a comma, so change it to a semicolon for clarity and to avoid potential
issues with statement reordering.

8 months agoSmall changes to test on bugzilla and improve compatibility
Ryan Voots [Tue, 12 Nov 2019 19:57:57 +0000 (14:57 -0500)]
Small changes to test on bugzilla and improve compatibility

8 months agoBump version with change
Ryan Voots [Mon, 11 Nov 2019 22:24:58 +0000 (17:24 -0500)]
Bump version with change

8 months agoUpdate to use tr/// to trigger loading
Ryan Voots [Mon, 11 Nov 2019 21:46:56 +0000 (16:46 -0500)]
Update to use tr/// to trigger loading
Fixes GH #17271

8 months agoperlrecharclass.pod: Make clear that $, has been assigned to
James E Keenan [Fri, 17 Jul 2020 21:08:59 +0000 (21:08 +0000)]
perlrecharclass.pod: Make clear that $, has been assigned to

Correct typo spotted by Dan Book.


8 months agoFix format issue in t/op/taint.t and add strict/warnings
Nicolas R [Fri, 17 Jul 2020 22:01:32 +0000 (16:01 -0600)]
Fix format issue in t/op/taint.t and add strict/warnings

Format was using '<'*5 instead of '<'x5 in multiple locations
also enforce strict & warnings to detect similar issues in the

8 months agoForce path to ExtUtils::PL2Bat in
Leon Timmermans [Thu, 25 Apr 2019 14:40:51 +0000 (16:40 +0200)]
Force path to ExtUtils::PL2Bat in

8 months agoMake pl2bat use ExtUtils::PL2Bat
Leon Timmermans [Thu, 25 Apr 2019 12:50:50 +0000 (14:50 +0200)]
Make pl2bat use ExtUtils::PL2Bat

8 months agoEliminate -a option of pl2bat
Leon Timmermans [Thu, 25 Apr 2019 11:22:28 +0000 (13:22 +0200)]
Eliminate -a option of pl2bat

8 months agoImport ExtUtils::PL2Bat
Leon Timmermans [Thu, 25 Apr 2019 09:11:05 +0000 (11:11 +0200)]
Import ExtUtils::PL2Bat

8 months agointrpvar.h -reorder PERLVARS to close x86-64 alignment holes
Richard Leach [Sat, 14 Mar 2020 22:52:52 +0000 (22:52 +0000)]
intrpvar.h -reorder PERLVARS to close x86-64 alignment holes

8 months agouse absolute paths in ExtUtils::ParseXS tests on all platforms
Graham Knop [Sun, 14 Jun 2020 06:10:49 +0000 (08:10 +0200)]
use absolute paths in ExtUtils::ParseXS tests on all platforms

System perl on macOS also doesn't like linking libraries using relative
paths. The tests for ExtUtils::ParseXS already converted to absolute
paths on android, but it doesn't hurt to do that on all platforms.

Remove the platform conditional, and update the comment.

8 months agoavoid using C99/C11 functions that NetBSD doesn't define
Tony Cook [Mon, 15 Jun 2020 05:45:24 +0000 (05:45 +0000)]
avoid using C99/C11 functions that NetBSD doesn't define

Neither NetBSD 8.0 not 9.0 define several C99/C11 long double math

This is already a known issue upstream, see

Fixes #17854

This will require some updates to hints/ once (if) NetBSD fix it
at their end.

8 months agoGNU/Hurd doesn't support SO_PROTOCOL
Samuel Thibault [Thu, 18 Jun 2020 11:47:36 +0000 (13:47 +0200)]
GNU/Hurd doesn't support SO_PROTOCOL

8 months agoRevert "Debugging GH #17671."
Karl Williamson [Thu, 23 Apr 2020 15:36:15 +0000 (09:36 -0600)]
Revert "Debugging GH #17671."

This reverts commit f12bbb761071acfd5663d673ad891ffbb2ffdbd9.

That commit temporarily turned off a test that was causing intermittent
failures in an experimental feature.  We agreed to leave it off for
5.32.  Since then, there have been some fixes, which possibly have fixed
it.  I'm now re-enabling that test in 5.33 so as to see if the bug crops
up again or not.

8 months agoRevert "there is no obvious reason not to set flags"
Karl Williamson [Fri, 20 Mar 2020 18:22:55 +0000 (12:22 -0600)]
Revert "there is no obvious reason not to set flags"

This reverts commit 0ddecb91901742e7df780394170d4bf818ee1da8
as part of

8 months agoDefine a new SAVEt_HINT_HH type
Paul "LeoNerd" Evans [Mon, 20 Jul 2020 16:23:02 +0000 (17:23 +0100)]
Define a new SAVEt_HINT_HH type

Rather than possibly push an extra HV* to the save stack if the right
bit is set in the (saved) hints flags, better just to define a different
SAVEt type. Having done this, the stack layout is now constant per type

This fixes

8 months agolex_assign.t: Correct typo in test description
James E Keenan [Wed, 29 Jul 2020 17:35:41 +0000 (13:35 -0400)]
lex_assign.t:  Correct typo in test description

8 months agoDocument PERL_VERSION and kin as deprecated
Karl Williamson [Wed, 29 Jul 2020 03:20:53 +0000 (21:20 -0600)]
Document PERL_VERSION and kin as deprecated

Code should be removing these.  This documents them and gives the
preferred alternative to using them.

8 months agoImprove detection of Intel C/C++ compilers. (#18001)
Graham✈️✈️ [Wed, 29 Jul 2020 14:57:17 +0000 (08:57 -0600)]
Improve detection of Intel C/C++ compilers. (#18001)

* Improve detection of Intel C/C++ compilers.

My version of Intel C/C++ reports these versions:

✅ starscream% icc -V
Intel(R) C Intel(R) 64 Compiler for applications running on Intel(R) 64, Version Build 20200306
Copyright (C) 1985-2020 Intel Corporation.  All rights reserved.

✅ starscream% icpc -V
Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version Build 20200306
Copyright (C) 1985-2020 Intel Corporation.  All rights reserved.

* simplified case for detecting Intel C++ compiler

* update authors for plicease

8 months Improve wording in perlapi/perlintern
Karl Williamson [Wed, 29 Jul 2020 03:13:11 +0000 (21:13 -0600)] Improve wording in perlapi/perlintern

It was referring to function, when in reality it is a definition.

8 months agoFile-Path: sync in CPAN version 2.17
James E Keenan [Sun, 26 Jul 2020 01:52:46 +0000 (21:52 -0400)]
File-Path: sync in CPAN version 2.17

8 months agowin32.c: rework the waitpid(-1, WNOHANG) fix
Tomasz Konojacki [Wed, 18 Mar 2020 02:17:52 +0000 (03:17 +0100)]
win32.c: rework the waitpid(-1, WNOHANG) fix

Oops! While 08e55ec5e3ef6d6c040c0dc8bdec7d59f76bfbe8 made
waitpid(-1, WNOHANG) not segfault, it introduced another problem:
when retry == 1, MsgWaitForMultipleObjects() will sometimes be
called with a very large timeout due to unsigned integer overflow.

This is *exactly* the same problem that the comment above the loop
warns about.

8 months agoFix typo when using nBIT_UMAX
Nicolas R [Wed, 22 Jul 2020 23:46:03 +0000 (17:46 -0600)]
Fix typo when using nBIT_UMAX

nBIT_MAX was used instead of nBIT_UMAX
from d223e1ea9ae864c0e563187f1e76 changes

note: at first glance it seems that
nBIT_UMAX is an alias for nBIT_MASK

8 months agoFixes typo from d223e1ea9ae864c0e563187f1e76240ef1acad87
Ryan Voots [Wed, 22 Jul 2020 19:56:16 +0000 (15:56 -0400)]
Fixes typo from d223e1ea9ae864c0e563187f1e76240ef1acad87

This breaks in malloc.c when configured using the Perl malloc implementation i.e. -Dusemymalloc

End result is this when linking:

    /usr/bin/ld: malloc.o: in function `Perl_mfree':
    malloc.c:(.text+0x98): undefined reference to `nBITMASK'
    /usr/bin/ld: malloc.c:(.text+0xb9): undefined reference to `nBITMASK'
    /usr/bin/ld: malloc.c:(.text+0xd3): undefined reference to `nBITMASK'
    /usr/bin/ld: malloc.c:(.text+0x138): undefined reference to `nBITMASK'
    /usr/bin/ld: malloc.o: in function `Perl_malloced_size':
    malloc.c:(.text+0x1fc): undefined reference to `nBITMASK'
    /usr/bin/ld: malloc.o:malloc.c:(.text+0x328): more undefined references to `nBITMASK' follow