diff options
author | Karl Williamson <public@khwilliamson.com> | 2012-02-03 11:40:34 -0700 |
---|---|---|
committer | Karl Williamson <public@khwilliamson.com> | 2012-02-09 10:13:55 -0700 |
commit | 164173a25b2f985f00a4cb2ce75ac3918aef2e02 (patch) | |
tree | 601cd7714c92cac49e1a92d2456d945b8f2b3abc /proto.h | |
parent | 3f80b5713f755394d2d1a3bc3befb0dd82a19f64 (diff) | |
download | perl-164173a25b2f985f00a4cb2ce75ac3918aef2e02.tar.gz |
regcomp.c: Add ability to take union of a complement
Previous commits have added the ability to the inversion list
intersection routine to take the complement of one of its inputs.
Likewise, for unions, this will be a frequent paradigm, and it is
cheaper to do the complement of an input in the routine than to
construct a new temporary that is the desired complement, and throw it
away.
Diffstat (limited to 'proto.h')
-rw-r--r-- | proto.h | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -6582,10 +6582,14 @@ PERL_CALLCONV void Perl__invlist_populate_swatch(pTHX_ SV* const invlist, const __attribute__nonnull__(pTHX_2) __attribute__nonnull__(pTHX_3); */ -PERL_CALLCONV void Perl__invlist_union(pTHX_ SV* const a, SV* const b, SV** output) +/* PERL_CALLCONV void _invlist_union(pTHX_ SV* const a, SV* const b, SV** output) __attribute__nonnull__(pTHX_2) - __attribute__nonnull__(pTHX_3); -#define PERL_ARGS_ASSERT__INVLIST_UNION \ + __attribute__nonnull__(pTHX_3); */ + +PERL_CALLCONV void Perl__invlist_union_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, bool complement_b, SV** output) + __attribute__nonnull__(pTHX_2) + __attribute__nonnull__(pTHX_4); +#define PERL_ARGS_ASSERT__INVLIST_UNION_MAYBE_COMPLEMENT_2ND \ assert(b); assert(output) PERL_CALLCONV SV* Perl__new_invlist(pTHX_ IV initial_size) |