In perl.git, the branch smoke-me/khw-xx has been created
<http://perl5.git.perl.org/perl.git/commitdiff/4bbb800df14823c0c4bb6ce2df2806016128ab6e?hp=0000000000000000000000000000000000000000>
at 4bbb800df14823c0c4bb6ce2df2806016128ab6e (commit)
- Log -----------------------------------------------------------------
commit 4bbb800df14823c0c4bb6ce2df2806016128ab6e
Author: Karl Williamson <[email protected]>
Date: Sun Sep 21 22:07:58 2014 -0600
Suppress some Solaris warnings
We get an integer overflow message when we left shift a 1 into the
highest bit of a word. This changes the 1's into 1U's to indicate
unsigned. This is done for all the flag bits in the affected word, as
they could get reorderd by someone in the future, unintentionally
reintroducing this problem again.
M op.h
M op_reg_common.h
M regexp.h
commit fdf868145fb8aa5142100f75107f73af79feba00
Author: Karl Williamson <[email protected]>
Date: Wed Sep 24 12:51:46 2014 -0600
op_reg_common.h: Update comment
The PL file previously referred to has been deleted, and replaced by a
different one.
M op_reg_common.h
commit f5721627df0f808c65a66d25d2841725f1cd4c2c
Author: Karl Williamson <[email protected]>
Date: Wed Sep 24 12:49:13 2014 -0600
B/Makefile.PL: Allow constants to be long/unsigned
This looks for numerical constants, but failed to see long and/or
unsigned ones, which have suffixes U and/or L, or lowercase u and/or l.
M ext/B/Makefile.PL
commit 73ccaf45711428f806a2bbb2d2ee697635e2b902
Author: Karl Williamson <[email protected]>
Date: Mon Sep 22 11:56:48 2014 -0600
Deprecate multiple "x" in "/xx"
It is planned for a future Perl release to have /xx mean something
different from just /x. To prepare for this, this commit raises a
deprecation warning if someone currently has this usage. A grep of CPAN
did not turn up any instances of this, but this is to be safe anyway.
The added code is more general than actually needed, in case we want to
do this for another flag.
M ext/re/re.pm
M ext/re/t/reflags.t
M pod/perldelta.pod
M pod/perldiag.pod
M regcomp.c
M regexp.h
M t/re/reg_mesg.t
M toke.c
commit 87b0369f56d8d2fee0e1737010e2c19b394872e7
Author: Karl Williamson <[email protected]>
Date: Mon Sep 22 11:54:37 2014 -0600
toke.c: Clarify comment
M toke.c
commit dd983e3da872a3af1b47f09e2ab0bf96a5466c59
Author: Karl Williamson <[email protected]>
Date: Wed Sep 17 17:59:39 2014 -0600
op_reg_common.h: White-space only
Align columns vertically
M op_reg_common.h
commit a1f594bbe1e4f640286daf24c573dd882f825509
Author: Karl Williamson <[email protected]>
Date: Wed Sep 17 17:55:16 2014 -0600
Make space for /xx flag
This doesn't actually use the flag yet.
We no longer have to make version-dependent changes to
ext/Devel-Peek/t/Peek.t, (it being in /ext) so this doesn't
M dump.c
M ext/B/t/concise-xs.t
M ext/Devel-Peek/t/Peek.t
M ext/re/re.pm
M lib/B/Deparse.pm
M op.h
M op_reg_common.h
M regexp.h
M regnodes.h
commit a1644a43d0a2a950fd144a998dd3ec36dd5baf29
Author: Karl Williamson <[email protected]>
Date: Wed Sep 17 17:57:17 2014 -0600
op_reg_common.h: #define in terms of more basic one
The mask to copy bits should always include at least the compile-time
bits. By defining it in terms of the compile-time bits, we make it
easier to change and understand.
M op_reg_common.h
commit 6c4531ef184e5e0a93402617b7e630284339cb59
Author: Karl Williamson <[email protected]>
Date: Wed Sep 17 12:16:12 2014 -0600
Up regex flags limit for (??{})
Previously the regex pattern compilation flags needed for this construct
would fit into an 8-bit byte. This conveniently fits into the flags
structure element of a regnode. There are changes coming that require
more than 8 bits, so in preparation, this commit adds an argument to the
node that implements (??{}) (31-bits usable for flags), and moves the
storage to that.
M op_reg_common.h
M pod/perldebguts.pod
M regcomp.c
M regcomp.sym
M regexec.c
M regnodes.h
commit 7904a312b09c745ca15ab3e6bbf34e371b9c286e
Author: Karl Williamson <[email protected]>
Date: Tue Sep 16 17:19:52 2014 -0600
regcomp.c: Add assertions
This changes from assuming that certain things are constant to using a
variable instead, and then asserting that the variable matches the
constant.
M regcomp.c
commit 43b6a1ad42fa41298078b92d629b664029f2fc97
Author: Karl Williamson <[email protected]>
Date: Tue Sep 16 17:16:47 2014 -0600
regcomp.c: Add a function and use it
This adds a function to allocate a regnode with 2 32-bit arguments, and
uses it, rather than the ad-hoc code that did the same thing previously.
This is in preparation for this code being used in a 2nd place in a
future commit.
M embed.fnc
M embed.h
M proto.h
M regcomp.c
M regcomp.h
commit db55d05f29fc9551b6d526cdccbe564e999fc88c
Author: Karl Williamson <[email protected]>
Date: Tue Sep 16 16:26:36 2014 -0600
regcomp.sym: ANYOF nodes have an argument
Plus a bitmap, but they always have an argument besides, contrary to
what was specified here. Future commits rely on this, whereas
heretofore this error was harmless.
M pod/perldebguts.pod
M regcomp.sym
M regnodes.h
commit deec1c94f1a58f4199a36e02b791bf0bb62ffe49
Author: Karl Williamson <[email protected]>
Date: Tue Sep 16 10:00:32 2014 -0600
regcomp.h: Add comment
M regcomp.h
commit 3ee33f4e043b758012e943cbab40db06179ba1b0
Author: Karl Williamson <[email protected]>
Date: Mon Sep 15 12:14:17 2014 -0600
regcomp.c: Outdent line to align with neighbors
M regcomp.c
commit 9dd487721e7c4e16b721b2fe72acf1b57e6ff70a
Author: Karl Williamson <[email protected]>
Date: Mon Sep 15 11:30:25 2014 -0600
regcomp.h: Remove obsolete #defines
These internal definitions are no longer used.
M regcomp.h
commit ccff09d4e9b55040753b48c98a037f7f56726022
Author: Karl Williamson <[email protected]>
Date: Mon Sep 15 11:29:43 2014 -0600
regcomp.h: Use existing macro instead of reinventing
M regcomp.h
commit a9a4cd6f888ff0bde4621d8a2feaf14559c9d60b
Author: Karl Williamson <[email protected]>
Date: Mon Sep 15 08:46:35 2014 -0600
regcomp.c: Extract duplicated code to fcn
This causes the nearly-duplicate code of S_reg_node and S_reganode to be
placed into a single function, S_regnode_guts.
There is one place where it might not be obvious that this doesn't
change things. And that is under DEBUGGING, reg_node() called
Set_Node_Offset(RExC_emit, RExC_parse + (op == END));
and reganode called
Set_Cur_Node_Offset;
However Set_Cur_Node_Offset is defined to be
Set_Node_Offset(RExC_emit, RExC_parse)
and since op will never be END for reganode, the two statements are
equivalent.
M embed.fnc
M embed.h
M proto.h
M regcomp.c
commit 0c7fbc2db656b549004c3384b7a5b48804c79d13
Author: Karl Williamson <[email protected]>
Date: Sun Sep 14 22:25:47 2014 -0600
regcomp.c: Move some statements
These statements are moved to after the debugging code so that the two
functions are essentially identical before them. This will allow the
two to be combined in a future commit. I verified by testing that the
debugging info was not affected.
M regcomp.c
commit f7c076ae32dddbbb9cc450433b0bebbfb7270869
Author: Karl Williamson <[email protected]>
Date: Wed Sep 17 12:11:21 2014 -0600
op.h: Move flag bits; comment shared-bit scheme
This changes op.h to correspond with regexp.h. It moves all the used
bits up in the word so that if a new shared bit is added, the #error
will be triggered, alerting the person doing it that things need
adjusting so binary compatibility is preserved.
M op.h
commit 5a39547a27a8d24181ce1e2d6d17d2ff51be6e4b
Author: Karl Williamson <[email protected]>
Date: Wed Sep 17 12:08:41 2014 -0600
regexp.h: Comment shared-pool free bits scheme
M regexp.h
commit 26e8d836ad9d8cb5187f6b0652df8426f71869ed
Author: Karl Williamson <[email protected]>
Date: Fri Sep 12 14:04:12 2014 -0600
regexp.h: Make tentative division of free-bit space
This sets a #define to point in the middle of the free-space, so that
bits at either end can be added without having to adjust many other
defines.
M regexp.h
commit 00ab7a446a1c36ace2de401eb3163a07a50449fa
Author: Karl Williamson <[email protected]>
Date: Fri Sep 12 13:59:13 2014 -0600
regexp.h: Define flag bit directly, not indirectly
This #defined a symbol then did a compile time check that it was the
same as another symbol. This commit simply defines it as the other
symbol directly, and moves it to above the other definitions, which it
no longer is part of. This prepares for the next commit.
M regexp.h
commit 800233a73118784b87a0f96c2f05bd22382feef5
Author: Karl Williamson <[email protected]>
Date: Fri Sep 12 14:40:03 2014 -0600
regexp.h Remove unused bit placeholders
We do not need a placeholder for unused flag bits. And removing them
makes the generated regnodes.h more accurate as to what bits are
available.
M regexp.h
M regnodes.h
commit afe4da9ddf30127ee8f34fe692e650c99bdf2b8c
Author: Karl Williamson <[email protected]>
Date: Thu Sep 11 22:45:06 2014 -0600
regexp.h: Move regex flag bit positions.
This moves three bits to create a block of unused bits at the beginning.
The first bit had to be moved to make space for other uses that are
coming in future commits. This breaks binary compatibility, so might as
well move the other two bits so that all the unused bits are
consolidated at the beginning.
This pool of unused bits is the boundary between the bits that are
common to op.h and regexp.h (and in op_reg_common.h) and those that are
separate. It's best to have all the unused bits there, so when we need
to use one, it can be taken from either side, as needed, without us
being trapped into having an available bit, but of the wrong kind.
M regexp.h
M regnodes.h
-----------------------------------------------------------------------
--
Perl5 Master Repository