| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
These were wrong, and Devel::PPPort found the mistakes.
|
| |
|
|
|
|
| |
These macros accept any UV as input, but not a signed number
|
| |
|
|
|
|
|
| |
We already have a macro that expands to what this code does; it's
clearer to use it.
|
| |
|
|
|
|
| |
Now that we have the tools to show these as a whole list, do so
|
| |
|
| |
|
|
|
|
| |
This is a flags parameter, not a particular single flag
|
|
|
|
| |
The character classification macro variants are now presented as a list
|
|
|
|
|
| |
The character case change macro variants are now displayed all
together
|
|
|
|
|
| |
This uses a new organization of sections that I came up with. I asked
for comments on p5p, but there were none.
|
|
|
|
|
| |
apidoc_section is slightly favored over head1, as it is known only to
autodoc, and can't be confused with real pod.
|
|
|
|
|
|
|
|
|
|
|
| |
handy.h was recently updated in 4a1bbd3d but
this is not using the accurate definitions
of the new semantic versions introduced as part of #18020
They are:
- PERL_VERSION_MAJOR
- PERL_VERSION_MINOR
- PERL_VERSION_PATCH
|
|
|
|
|
|
|
|
|
|
|
|
| |
This modifies the macros introduced in
9b6e95106e18e4fd33678d0df9b2293fd4f8ab9c that allow one to determine how
the version of the perl currently being compiled compares to an
arbitrary one. The modification is based on changes in the plan,
including renaming of variables.
This also introduces the use of '*' for the subversion (or micro as it
is now called) to make conversion from the soon-to-be deprecated
PERL_VERSION macro more rote, with less thinking involved.
|
|
|
|
|
|
| |
We already have a macro for constants of the largest available type,
use that instead of HAS_LONG_LONG, which is (erroneously?) not defined
under MSVC.
|
| |
|
|
|
|
| |
This encapsulates a common paradigm
|
|
|
|
|
| |
This encapsulates a common paradigm, making sure that it is done
correctly for the platform's size.
|
| |
|
|
|
|
|
| |
Variables in C are beginning with an underscore are reserved for use by
the C implementation. Change this non-conformant usage.
|
|
|
|
|
| |
This moves things from vutil.h, and into handy.h; this is required for
v7
|
|
|
|
|
| |
Mostly in comments and docs, but some in diagnostic messages and one
case of 'or die die'.
|
|
|
|
|
| |
This is in preparation for it being used elsewhere, to reduce
duplication of code.
|
|
|
|
|
|
| |
The motivation behind these extra bits is to allow three functions that
deal with, respectively, binary, octal, and hex data to use the same
paradigm, and hence be collapsible into a single function.
|
|
|
|
|
|
|
|
|
|
| |
This removes a branch and an array lookup in the XDIGIT_VALUE() macro.
It adds some shifts, masks, and additions instead, though replacing a
mask and addition in the old way.
A somewhat more complicated version could be made for EBCDIC, but I'm
not bothering to do that, using an array lookup to convert the salient
value to ASCII, so on EBCDIC there isn't an array lookup removal.
|
|
|
|
|
|
|
| |
This replaces strchr("list", c) calls throughout the core. They don't
work properly when 'c' is a NUL, returning the position of the
terminating NUL in "list" instead of failure. This could lead to
segfaults or even security issues.
|
|
|
|
|
|
| |
This only affected an EBCDIC build where no other tools are around.
This is no longer really used. It was used to bootstrap EBCDIC when
first porting to it (after the 5.8 series).
|
| |
|
|
|
|
| |
These are needed only to allow some modules to stay updated with blead.
|
|
|
|
| |
As these are no longer used.
|
|
|
|
| |
These were missed by 059703b088f44d5665f67fba0b9d80cad89085fd.
|
|
|
|
|
|
|
| |
At the moment the _ASSERT_() is the one which has been showing large
expansions. Change so it doesn't do anything if PERL_SMALL_MACRO_BUFFER
is defined. That means various other calls that use
PERL_SMALL_MACRO_BUFFER can be simplified to not use it.
|
|
|
|
|
| |
These were recently changed to take a second parameter, but the docs did
not change to correspond.
|
|
|
|
|
| |
Remove MS Visual C++ 6.0 support as agreed in the thread starting here:
https://www.nntp.perl.org/group/perl.perl5.porters/2019/07/msg255625.html
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This updates the bug tracker URL from http://rt.perl.org
to https://rt.perl.org.
There is a place in the code, in corelist.pl, that is sensitive
to the URL of the bug tracker. This now understands both
versions of the bug tracker URL. Ideally, this will be
consolidated once the dust settles.
This patch also updates ExtUtils::CBuilder, Safe, threads
and threads::shared to point to the new bug tracker URL.
|
|
|
|
|
|
|
|
|
|
|
| |
This macro has been expanding to overflow some assertion strings on
Windows and HP. This commit omits handling one unlikely scenario,
namely that the input is a short, 16-bits. And that is enough to get it
to compile on Windows. HP isn't smoked on branches, so I don't know if
this will fix it.
More discussion may be needed, but this is all I have time for at the
moment.
|
|
|
|
| |
These are no longer needed.
|
|
|
|
| |
It was missing a parameter
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It has been deprecated since 5.26 to use various macros that deal with
UTF-8 inputs but don't have a parameter indicating the maximum length
beyond which we should not look. This commit changes all such macros,
as threatened in existing documentation and warning messages, to have an
extra parameter giving the length.
This was originally scheduled to happen in 5.30, but was delayed because
it broke some CPAN modules, and there wasn't really a good way around
it. But now that Devel::PPPort 3.54 is out, ppport.h has new facilities
for getting modules making these changes to work with older Perl
releases.
|
|
|
|
|
| |
The next commit removes some macros that this uses. They have been
deprecated, and the uses here were to test those deprecations.
|
|
|
|
|
|
|
|
|
|
|
| |
If a parameter to this function is unsigned, gcc, at least, generates a
comparison-always-true warning for the asserts on the parameters.
Silence these by casting to an NV. Any extra machine instructions will
be gone from non-DEBUGGING builds. The value in an NV won't necessarily
be exact, but all the assertions care about is the sign, which is
guaranteed by C11 standard 6.3.1.4 item 2.
This technique was the idea of Tomasz Konojacki.
|
|
|
|
| |
This assertion is done in the macro that is called to do the real work.
|
|
|
|
|
| |
It needs to cast to unsigned in all circumstances; prior to this commit
it failed to do so for oprands wider than 32 bits
|
|
|
|
|
|
| |
I figured out a way to make this work generally. I've also tested this
vs what some modern compilers do under -O2. It seems this macro is
slightly better.
|
|
|
|
|
| |
This uses just one conditional to see if a value is between low and
(low + n).
|
|
|
|
|
| |
Now that we have the 'u' flag for macros, this one returns
a pair of values, so should be marked as such.
|
|
|
|
|
| |
Now that Devel::PPPort has the ability to handle these, we can loosen
the syntax for clarity.
|
| |
|