summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix building with clang-clClemens Wasser2022-06-093-2/+4
| | | | | As mentioned in https://lists.llvm.org/pipermail/llvm-dev/2015-July/088122.html and https://github.com/llvm/llvm-project/issues/24625 building with clang-cl currently fails due to the declaration of __PL_nan_u. By declaring it like this, cl and clang-cl are happy to parse it.
* perldelta for ea43bc00e1113fTony Cook2022-06-091-1/+3
|
* minitest_prep conflict on building $(MINIPERL_EXE)Tony Cook2022-06-091-3/+3
| | | | | | | | | | | | | | | | | minitest depends on $(MINIPERL_EXE) and minitest_prep, but minitest_prep calls back into make to build lib/Config.pm which indirectly depends on $(MINIPERL_EXE). This can result in a race between the parallel work of the parent make and the work of the child make, as they both try to build $(MINIPERL_EXE) and its dependencies, causing some of the errors described in the ticket. Note that trying to `make -j6 minitest all` could lead to similar conflicts, but I think that's an unlikely and not worth supporting anyway. Fixes #19829 (I think)
* perldelta for bbaab2c3cd9Tony Cook2022-06-091-0/+6
|
* use Off_t for file offsets in sdbm.cTony Cook2022-06-092-4/+9
| | | | | | | | | | | On Win32 long is only 32-bits (even for x86_64), which meant file sizes were limited to 2GB. This successfully runs the example code, and can successfully read all the keys back. I didn't add a test, since creating a 2GB (or 8GB for the issue test) would be unfriendly.
* handy.h: WIDEST_UTYPE is just PERL_UINTMAX_TKarl Williamson2022-06-081-5/+1
| | | | No need to re-derive it
* perl5dp.pl: Bump versionKarl Williamson2022-06-081-1/+1
|
* Data::Dumper: bump versionKarl Williamson2022-06-081-1/+1
|
* Elvin Aslanov is now a Perl authorKarl Williamson2022-06-081-0/+1
|
* Fix typos in tim64.c commentsKarl Williamson2022-06-081-2/+3
|
* Dumper.pm: Add proper link to pod sectionKarl Williamson2022-06-081-1/+1
|
* perl5db.pl: Make hyperlink in podKarl Williamson2022-06-081-1/+2
|
* inline.h: White space onlyKarl Williamson2022-06-081-5/+5
|
* Add Hobbit quote to time64.cLeon Timmermans2022-06-081-0/+26
|
* Make use of av_push_simple in a few places.Richard Leach2022-06-083-15/+17
| | | | | | | | | Specifically, only where a new AV has just been created and it's therefore obvious that av_push_simple is safe to use. In many cases, nearby code does av_push to an existing array. It might well be the case that these are simple arrays and av_push_simple could be used instead. The necessary analysis has been left for the future.
* Move av_new_alloc from av.c to inline.hRichard Leach2022-06-084-44/+47
| | | | | | | There was less benefit in doing this prior to newSV_type becoming an inline function. Now that it is, inlining av_new_alloc can help compilers eliminate redundant setting of AvMAX/AvFILLp and unnecessary branches of any following inlined calls to av_store_simple.
* inline.h: add av_push_simpleRichard Leach2022-06-084-0/+36
| | | | | | | | | | | | | | A simplified version of av_push, along the lines of av_store_simple and av_fetch_simple. This function is trivial, but having it makes refactoring of existing code easier to read. For example, changing: av_push(some_av, val); to: av_push_simple(some_av,val); is easier to read than: av_store_simple(some_av, AvFILLp(some_av) + 1, val)
* Appease gcc's warning that keysv may be used uninitialized in op.cPaul "LeoNerd" Evans2022-06-081-1/+1
|
* perlapi: Deprecate 5 functionsKarl Williamson2022-06-083-7/+30
| | | | | | | | | | and document two of them, which I had done before I realized they were to be deprecated. These functions are obsolete, and stemmed from a long-solved problem in Windows. There are a couple of uses on cpan of a couple of them. But people should just use PL_opnames[], for example, instead of the function here that returns the address of that array.
* Opcode.xs now uses PL_op_name and PL_op_desc directlyNicholas Clark2022-06-081-4/+4
| | | | | This removes the last core use of the trivial accessor functions get_op_names() and get_op_descs().
* opset_len in Opcode.xs is a constant, so should be a static constNicholas Clark2022-06-082-19/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can also remove many dMY_CXT declarations, as they are no longer needed (and generate a now unused variable in threaded builds, hence compiler warnings). Previously it was part of the module's my_cxt_t, because it was a value calculated from the interpreter variable PL_maxo. But PL_maxo itself is *not* a variable - it was converted to a #define in Aug 2016 by commit 8d89205aa6324e7d: Remove PL_maxo We have an interpreter variable using memory, PL_maxo, which is defined to be the same as MAXO, a #defined constant. As far as I can tell, it is never used in lvalue context, in core or on CPAN, except for the initialisation in intrpvar.h. It can simply be removed and replaced with a macro defined as equiva- lent to MAXO. It was added in this commit: commit 84ea024ac9cdf20f21223e686dddea82d5eceb4f Author: Perl 5 Porters <perl5-porters.nicoh.com> Date: Tue Jan 2 23:21:55 1996 +0000 perl 5.002beta1h patch: perl.h 5.002beta1 attempted some memory optimizations, but unfortunately they can result in a memory leak problem. This can be avoided by #define STRANGE_MALLOC. I do that here until consensus is reached on a better strategy for handling the memory optimizations. Include maxo for the maximum number of operations (needed for the Safe extension). But apparently it is not needed for the Safe extension (tests pass without it). What the author of that commit didn't realise was that Opcode had been split out from Safe - the code in question is in this module not Safe.
* ExtUtils::CBuilder - bump versionGraham Knop2022-06-0814-14/+14
|
* ExtUtils::CBuilder - print out commands being run in usable formGraham Knop2022-06-082-5/+40
| | | | | | | | | | | | | | | When not set to be quiet, the system commands being run are printed out before running them. This can assist with diagnosing issues. It is implied that this is a command that could be run by a user. Since the command is internally run with system using list form, it does not involve the shell, and does not need any extra quoting. The printed out command however, would be run by a user through a shell. Just joining the arguments with spaces will not quote them correctly for use through a shell. Add a new method for quoting a string for the shell. And use this method when printing out the command line that we are running.
* Module::CoreList - change github clone URL to httpsGraham Knop2022-06-081-1/+1
| | | | GitHub no longer supports git:// cloning because it is not encrypted.
* pp_unshift: av_store is often unnecessaryRichard Leach2022-06-081-3/+24
|
* feature - document that use utf8 should probably be used for non-ascii ↵Dan Book2022-06-072-2/+10
| | | | delimiters
* Correctly indent the body of the while{} loop in S_aassign_scan()Paul "LeoNerd" Evans2022-06-071-168/+167
|
* Also join the 'else if'Paul "LeoNerd" Evans2022-06-071-3/+2
|
* Fix indentation of a line of code in op.c to not be misleadingPaul "LeoNerd" Evans2022-06-071-2/+1
|
* Rename variable in EXTEND_HWM_SETHugo van der Sanden2022-06-061-5/+5
| | | | | "ix" is a common variable name in XS code, and may be passed in as part of a parameter.
* Refactor warning-generating code in two different places into one common ↵Paul "LeoNerd" Evans2022-06-061-55/+55
| | | | | | | | | function The new combined function, named `S_warn_elem_scalar_context()`, is much more meaningful and useful to become exported in an intended subsequent change, than the previous (poorly-named) `S_op_pretty()` would have been.
* Update checksums in some generated filesKarl Williamson2022-06-065-4/+11
| | | | | | | | These use checksums to see if the generated data could be out of date. The new NormTest.pl wasn't counted in this, and needn't be, but excluding it and other similar ones is more trouble than it's worth, so make a comment to that effect and update to include the NormTest.pl digest value.
* locale.c: Declare three static arrays to be so.Karl Williamson2022-06-061-3/+3
|
* perlapi: Document my_failure_exit()Karl Williamson2022-06-062-1/+14
|
* Add official Unicode normalization testsKarl Williamson2022-06-066-1/+38130
|
* opt.t: Fix count of tests to be skippedJames E Keenan2022-06-061-1/+1
|
* Comprehensive charset.t testsKarl Williamson2022-06-061-21/+110
| | | | | | These have been occasionally useful, but take quite a bit longer than just the sameples normally used. Enabled by environment variable $PERL_DEBUG_FULL_TEST
* Make tr/// SV compiled components ReadOnlyKarl Williamson2022-06-051-2/+10
| | | | | This could trigger some optimisations, and makes it clear to maintainers that they do not get modified.
* Remove deprecated functionsKarl Williamson2022-06-057-1041/+0
| | | | | Most of these have been deprecated for a long time; and we've never bothered to follow through in removing them. This commit does that.
* utf8.c: Minor comment changesKarl Williamson2022-06-041-2/+2
|
* Add comments to taint_env, taint_properKarl Williamson2022-06-041-1/+5
| | | | | One is supposed to access this functionality only through the documented uppercase-named macros.
* perldelta for d6a9a133f0ec, 34e6e2fba776Tony Cook2022-06-031-4/+5
|
* remove some leftover debug output from filetime_from_time()Tony Cook2022-06-032-1/+14
|
* bump $GDBM_File::VERSIONTony Cook2022-06-031-1/+1
|
* GDBM_File: fix fetching mmapsizeTony Cook2022-06-032-2/+7
| | | | | | | | | | | | | | | | | | | | | | | Originally this came up from a Coverity complaint. GDBM_SETMAXMAPSIZE accepts any of unsigned, unsigned long or size_t, but GDBM_GETMAXMAPSIZE only accepts size_t. Since this is the only case that uses unsigned values we can safely switch it to size_t. Unfortunately Coverity's analysis was pretty broken, it complained about c_uv being uninitialised at the call to newSVuv, but its example code flow went through the opt_dbname case, which sets vptr to != &c_uv so the newSVuv() wouldn't execute anyway. Before looking closely at the Coverity analysis and after finding the bug fixed here I thought for a moment that Coverity had been tracing into libgdbm, which could have caught the actual problem, but alas that was not the case. I expect this fix will not close CID 351943, and if it remains after this is applied I'll close it as a false positive. CID 351943.
* perlapi: Consolidate gv_fetchmeth forms, improve docKarl Williamson2022-06-021-45/+47
| | | | I read the code and added details previously missing.
* regex: Create a macro to avoid some #ifdef'sKarl Williamson2022-06-023-15/+8
| | | | Easier to read
* regexec.c: Use modern name for functionKarl Williamson2022-06-021-2/+2
| | | | | The newer name is not misleading; the old name has been retained only for backcompat; this removes its final use in the core.
* regcomp,regexec: Shorten #define nameKarl Williamson2022-06-023-24/+24
| | | | | | | | This names a flag bit whose meaning depends on context. The previous name contained both meanings, and was simply too long to be comprehensible. This commit splits it into two names, with the suffix '_shared'. It's not necessary to know precisely what the other meaning is when reading the code, only that it has another meaning.
* Rename internal functionKarl Williamson2022-06-025-16/+16
| | | | The old name had a negative in it, and its easier to grok positives