summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* add new release to perlhistv5.21.7Max Maischein2014-12-201-0/+1
|
* Update perldeltaMax Maischein2014-12-201-235/+125
|
* Update Module::CoreList for 5.21.7Max Maischein2014-12-202-5/+203
|
* PerlIO::scalar: skip the 4GB seek test if off_t is too smallTony Cook2014-12-201-0/+3
|
* 01234567890123456789012345678901234567890123456789Father Chrysostomos2014-12-191-1/+1
| | | | | | | pp.h: Remove stack-popping from void overload code There is no need to pop the stack in void context, as every void-context op is followed by something that resets the stack.
* [perl #123458] list cx re::regexp_pattern($nonre)Father Chrysostomos2014-12-192-1/+2
| | | | | It was returning (undef) in list context, though it was documented to return the empty list.
* universal.c:re_regexp_pattern: Mention GIMME_V onceFather Chrysostomos2014-12-191-2/+3
| | | | | | | | | | | While it was only being called once, it occurred in two code paths. Pulling it out of the main if-block reduces the size of universal.o. Before and after: $ ls -l universal.o -rw-r--r-- 1 sprout staff 33700 Dec 19 16:05 universal.o $ ls -l universal.o -rw-r--r-- 1 sprout staff 33692 Dec 19 16:13 universal.o
* pp_sys.c:pp_readdir: Call GIMME_V just onceFather Chrysostomos2014-12-191-1/+1
|
* pp_ctl.c: Only do GIMME_V once in pp_callerFather Chrysostomos2014-12-191-3/+3
| | | | | | | | | | | This shrinks the machine code. Before and after: $ ls -l pp_ctl.o -rw-r--r-- 1 sprout staff 96156 Dec 19 16:05 pp_ctl.o $ ls -l pp_ctl.o -rw-r--r-- 1 sprout staff 96044 Dec 19 16:09 pp_ctl.o
* Use GIMME_V in preference to GIMMEFather Chrysostomos2014-12-196-34/+36
| | | | | | | | | GIMME_V is a simpler macro that results in smaller machine code. GIMME does not distinguish between scalar and void context. The two instances of GIMME == G_SCALAR that I changed (which used to match void context too, but no longer do) are in code paths unreachable in void context, so we don’t need to check for it.
* wantarray.t: $got before $expectedFather Chrysostomos2014-12-191-1/+1
| | | | | When the tests fail, the diagnostic output is very confusing otherwise.
* wantarray.t: Test logops at sub exitFather Chrysostomos2014-12-191-3/+29
|
* wantarray.t: Remove unused varFather Chrysostomos2014-12-191-1/+1
| | | | It stopped being used in dab34d0f01.
* fix integer overflow in S_regpiece().David Mitchell2014-12-191-2/+4
| | | | | | | | | | | | | | | RExC_naughty is incremented when nasty bits of regex are found. If at the end of compilation, its > 01, then PREGf_NAUGHTY is set on the pattern. However, some bits of S_regpiece on detecting naughiness, double or nearly double RExC_naughty, quickly resulting in overflow of the I32. I've fixed it by skipping the doubling when RExC_naughty is large, but I don't know whether the doubling is conceptually wrong in the first place. Found by -fsanitize=undefined.
* fix integer overflow in S_study_chunk().David Mitchell2014-12-191-1/+2
| | | | | | | | It was adding to delta even when delta was already SSize_t_MAX This triggered it: /.*(ab|abc)/. Found by -fsanitize=undefined.
* fix integer overflow in S_study_chunk().David Mitchell2014-12-191-2/+5
| | | | | | | | | It was adding SSize_t_MAX to data->last_start_max when data->last_start_max was already SSize_t_MAX. This triggered it: /(x+y)+/. Found by -fsanitize=undefined.
* fix integer overflow in S_scan_commit().David Mitchell2014-12-191-2/+2
| | | | | | | | offset_float_max could end up as SSize_t_MAX+1. This triggered it: /^x(ab|c.+)$/. Found by -fsanitize=undefined.
* add asan_ignore - which errors to ignoreDavid Mitchell2014-12-192-0/+20
| | | | | | | | "clang -fsanitize=undefined" produces lots of false positives. This file allows certain functions to be excluded from checking. Use it as: clang -fsanitize=undefined -fsanitize-blacklist=`pwd`/asan_ignore
* op.c: better casting fixDavid Mitchell2014-12-191-2/+4
| | | | | My commit 0cb87cd1a of a few minutes ago broke g++. Hopefully this commit won't break anything else.
* fix a couple of win32 op.c warningsDavid Mitchell2014-12-191-2/+2
| | | | | | | | | | | | These warnings appear on win32 smokes. op.c(8600) : warning C4244: 'function' : conversion from 'cv_flags_t' to 'char' , possible loss of data op.c(11905) : warning C4146: unary minus operator applied to unsigned type, res ult still unsigned Since I'm not running windows, I can't confirm that this commit shuts up these warnings, but I think think I've understood them correctly.
* ODBM: fix a compiler warning.David Mitchell2014-12-191-1/+1
| | | | | | This has been applied blind since my system doesn't have libodbm, but it matches exactly the cast added to NDBM's typemap a few years ago to fix a similar warning.
* NDBM: silence 'unused var' warnings x 2David Mitchell2014-12-191-0/+4
| | | | (I've done this blind because I don't have libndbm on my system)
* B.xs: remove redundant assignmentDavid Mitchell2014-12-191-1/+1
| | | | Follow-up to 500f40f555ee.
* ExtUtils::Embed: silence test warningDavid Mitchell2014-12-191-1/+9
| | | | | | | | | | From the added code comments: XXX DAPM 12/2014: ExtUtils::Embed doesn't seem to provide API access to $Config{optimize} and so compiles the test code without optimisation on optimised perls. This causes the compiler to warn when -D_FORTIFY_SOURCE is in force without -O. For now, just strip the fortify on optimised builds to avoid the warning.
* Also allow /\N{}/Father Chrysostomos2014-12-182-0/+9
| | | | | | | | See 4cbd7e223 and ticket #123417. If a charnames handler returns the empty string for a particular name, then the regular expression stringifies with an empty \N{} in it. This needs to round-trip properly (eval "/$qr/"), just like \N{U+...}.
* perldelta for 1e2dd519Father Chrysostomos2014-12-181-0/+6
|
* perldelta for 3b91d897Father Chrysostomos2014-12-181-0/+3
|
* perldelta for 1f3063473Father Chrysostomos2014-12-181-1/+3
|
* perldelta for 9d52f6f3f87Father Chrysostomos2014-12-181-0/+3
|
* perldelta for 84ee769f11Father Chrysostomos2014-12-181-0/+6
|
* include reference to metacpan.org; refer to the module-authors list instead ↵Karen Etheridge2014-12-181-1/+3
| | | | of modules, and include a link to the subscription page
* Update Unicode-Collate to CPAN version 1.09Chris 'BinGOs' Williams2014-12-1898-165/+116
| | | | | | | | | [DELTA] 1.09 Thu Dec 18 21:39:18 2014 - XS: a workaround for perl 5.6.x to handle noncharacters U+FFFF etc. is abandoned. Perl 5.8.0 or later is recommended for handling these noncharacters.
* perldelta for 696efa16de2cTony Cook2014-12-181-0/+3
|
* fix PerlIO::scalar get_cnt when the file position is beyond 2GBTony Cook2014-12-181-1/+1
| | | | This caused a new test to fail on 32-bit builds.
* regen pod issuesFather Chrysostomos2014-12-171-0/+1
| | | | The F<>/L<> warning is bogus in this case.
* [perl #123417] Allow lexer to parse \N{U+dotted.hex}Father Chrysostomos2014-12-173-11/+55
| | | | | | | | | | This ‘unoffical’ notation is used in stringifying regular expressions that contain named sequences, so that qr/\N{foo}/ stringified can be incorporated into another regular expression in a different scope and still mean the same thing. This also needs to work with eval "/$that_qr/". I didn’t because the lexer rejected this syntax.
* perldelta for 63d073d27fe5, 1d050e5534ceTony Cook2014-12-181-1/+11
|
* don't allow a negative file position on a PerlIO::scalar handleTony Cook2014-12-182-5/+17
| | | | | previosly seek() would produce an error, but would still make the\ file position negative.
* [perl #123443] avoid overflowing got into a negative numberTony Cook2014-12-183-5/+20
|
* Update Filter::Util::Call to CPAN version 1.51Chris 'BinGOs' Williams2014-12-176-12/+106
| | | | | | | | | | | | | | | | | | | [DELTA] 1.50 2014-06-04 rurban ---- * Do not re-bless already blessed filter_add arguments into the callers package. Fixes RT #54452 * t/z_pod-coverage.t: omit empty Filter::decrypt (also fixes RT #84405) * Fix Perl Compiler detection in Filter::decrypt 1.51 2014-12-09 rurban ---- * Minor -Wall -Wextra cleanups by jhi and me. Fixes RT #100742 * Updated Copyright years * Document and warn about its limitations
* Sort perldiagFather Chrysostomos2014-12-171-7/+7
|
* perldelta typosFather Chrysostomos2014-12-171-2/+2
|
* Fix bad read in pad.c:cv_undefFather Chrysostomos2014-12-171-1/+3
| | | | | | | | | | | | When freeing a sub, we can’t assume an entry named "&" contains a CV. It may instead be a weak reference to a format or named sub, or undef if such a reference went stale, in which case we don’t want to mess with CvOUTSIDE pointers. This bug probably goes back to v5.17.1-213-ge09ac07, when weak refer- ences started being stored in "&" pad entries. It didn’t start trig- gering AddressSanitizer failures until it was extended to named subs, in v5.21.6-386-ga70f21d.
* improve xs_handshake() diag messageDavid Mitchell2014-12-172-3/+3
| | | | | | | | | | | | | | | The important part of the error message is that the binaries are mismatched; the details of the handshake keys are an implementation detail. Or to put it another way, when someone mixes up their paths, getting something like Fcntl.c: Invalid handshake key got 0xcf80000 needed 0xd700000, binaries are mismatched Is a bit scary and confusing. This is hopefully (slightly) less scary: Fcntl.c: loadable library and perl binaries are mismatched (got handshake key 0xcf80000, needed 0xd700000)
* xs_handshake(() clean up desciptionDavid Mitchell2014-12-171-22/+37
| | | | | | Clean up the description of this function; in particular, say at the top what the function is for; fix typos; and generally improve the readability of the text.
* Template::Declare's tests now pass under 5.22-to-beAaron Crane2014-12-171-4/+0
|
* Remove duplicate apidoc entriesDavid Mitchell2014-12-173-8/+4
| | | | | Modify apidoc.pl to warn about duplicate apidoc entries, and remove duplicates for av_tindex and toLOWER_LC
* update perldelta for UNOP_AUX and OP_MULTIDEREFDavid Mitchell2014-12-171-0/+25
|
* INSTALL: warning text has changedDavid Mitchell2014-12-171-3/+3
| | | | | | | | | | Some text tells you about Note (probably harmless): No library found for -lsomething warnings, but the actual warning has now changed to Warning (mostly harmless): No library found for -lsomething
* Deparse constant Perl subsFather Chrysostomos2014-12-162-10/+32
| | | | | | Subs like sub f () { 42 } stopped being emitted, probably in v5.21.3-638-g2eaf799, when such subs started being stored as simple scalar refs in the stash.