Branch: refs/heads/blead
Home: https://github.com/Perl/perl5
Commit: 42c9bbd124aba5897092712c63f451448b70ae70
https://github.com/Perl/perl5/commit/42c9bbd124aba5897092712c63f451448b70ae70
Author: Karl Williamson <[email protected]>
Date: 2025-10-12 (Sun, 12 Oct 2025)
Changed paths:
M regen/embed.pl
Log Message:
-----------
regen/embed.pl: Remove redundant push
Commit: cdd132be41adc3d03e8c46335810879e802fb034
https://github.com/Perl/perl5/commit/cdd132be41adc3d03e8c46335810879e802fb034
Author: Karl Williamson <[email protected]>
Date: 2025-10-12 (Sun, 12 Oct 2025)
Changed paths:
M regen/embed.pl
Log Message:
-----------
regen/embed.pl: Comments/white-space
Wrap to fit in 80 column terminal window
Commit: c0125f32ec93839da85e3e6c7d73d6a54bdfbcd2
https://github.com/Perl/perl5/commit/c0125f32ec93839da85e3e6c7d73d6a54bdfbcd2
Author: Karl Williamson <[email protected]>
Date: 2025-10-12 (Sun, 12 Oct 2025)
Changed paths:
M embed.fnc
Log Message:
-----------
embed.fnc: Comments only
This:
* reorders some comments to make more sense
* makes minor clarifications
* removes comments that no longer make sense
* adds comments about moving ARGS_ASSERT macros to the top of their
functions when the code around them gets changed anyway.
Commit: 1628b08aebadfb508a779b67f3cff6d1d07f003b
https://github.com/Perl/perl5/commit/1628b08aebadfb508a779b67f3cff6d1d07f003b
Author: Karl Williamson <[email protected]>
Date: 2025-10-12 (Sun, 12 Oct 2025)
Changed paths:
M autodoc.pl
M embed.fnc
M regen/embed.pl
Log Message:
-----------
regen/embed.pl: Add ability to assert(s < e)
Where s is a pointer into a string, and e is the end of it.
Commit: 752f9267bfa970815ffc3469ee4b7fe1a1fe3daa
https://github.com/Perl/perl5/commit/752f9267bfa970815ffc3469ee4b7fe1a1fe3daa
Author: Karl Williamson <[email protected]>
Date: 2025-10-12 (Sun, 12 Oct 2025)
Changed paths:
M embed.fnc
M proto.h
Log Message:
-----------
Try out new asserts in a couple cases
This uses the previous commit's new abilities on a couple of sample
functions, so you can see the changes it makes in two small bites.
Commit: e18f23d7358c3abc5d74b13f43209a163ae82869
https://github.com/Perl/perl5/commit/e18f23d7358c3abc5d74b13f43209a163ae82869
Author: Karl Williamson <[email protected]>
Date: 2025-10-12 (Sun, 12 Oct 2025)
Changed paths:
M embed.fnc
M proto.h
M utf8.c
Log Message:
-----------
embed.fnc: Add ptr assertions for apparently non-problematic
I went through the declarations in embed.fnc and added PTR constraints
for all the ones that looked to have pointers to the beginning and end
of a string. I then ran the test suite, and reverted any that had
problems.
Then I looked at the code for each one remaining to see if it was
equipped to handle the case where the end == the beginning, and removed
those.
This is the result. Testing in the field may reveal others that the
test suite missed; we can fix those as they occur.
I removed now redundant asserts that were in the functions, and now are
included in the ARGS_ASSERT macros
Commit: 45ea12db26f8c70d27d2452f78ffb3abf1dce644
https://github.com/Perl/perl5/commit/45ea12db26f8c70d27d2452f78ffb3abf1dce644
Author: Karl Williamson <[email protected]>
Date: 2025-10-12 (Sun, 12 Oct 2025)
Changed paths:
M embed.fnc
M inline.h
M proto.h
Log Message:
-----------
embed.fnc: Add MPTR constraints
This is the first use of the new MPTR constraint that is used to
generate an assertion that a pointer is somewhere in the middle of a
string.
I removed now redundant asserts that were in the functions, and now are
included in the ARGS_ASSERT macros
Commit: a02324bb8a196330d50073b6a0e2ecef56af7019
https://github.com/Perl/perl5/commit/a02324bb8a196330d50073b6a0e2ecef56af7019
Author: Karl Williamson <[email protected]>
Date: 2025-10-12 (Sun, 12 Oct 2025)
Changed paths:
M embed.fnc
M inline.h
M proto.h
M regexec.c
M toke.c
M util.c
Log Message:
-----------
embed.fnc: Add EPTRQ constraints
Generally, a pointer to a string upper bound actually is to one beyond
the actual final byte in the string. This is sanctioned by the C
Standard, and allows you to just subtract the lower bound from it to get
its length, without having to add 1.
But some functions are written to tolerate the upper bound pointer being
set to the actual final byte. The EPTRQ constraint in embed.fnc is used
for those; the assertion becomes 'l <= u' instead of strictly less-than.
This commit is the first to use this type of constraint, and it applies
it only to those functions whose documentation or behavior clearly
indicate this is expected.
I removed now redundant asserts that were in the functions, and now are
included in the ARGS_ASSERT macros
There's a dozen-ish ones where that isn't true. And they need to be
investigated further before deciding their disposition.
Commit: 63ec64f2632018072d77cb07d30bf455edca0456
https://github.com/Perl/perl5/commit/63ec64f2632018072d77cb07d30bf455edca0456
Author: Karl Williamson <[email protected]>
Date: 2025-10-12 (Sun, 12 Oct 2025)
Changed paths:
M autodoc.pl
M embed.fnc
M inline.h
M proto.h
M regen/embed.pl
M regexec.c
M toke.c
M utf8.c
M util.c
Log Message:
-----------
Merge branch 'Assert string ptrs in-bounds' into blead
There are a bunch of functions that are passed pointers to two positions
in a string. These commits allow you to declare these in embed.fnc, and
have an assert like (s < e) generated that is automatically placed in
the PERL_ARGS_ASSERT for the function. Many entries in embed.fnc are
changed to use this new capability.
This is extended for functions where it should instead be assert(s <= e)
and assert(s <= cur)
Compare: https://github.com/Perl/perl5/compare/3a7b25bc8b5e...63ec64f26320
To unsubscribe from these emails, change your notification settings at
https://github.com/Perl/perl5/settings/notifications