summaryrefslogtreecommitdiff
path: root/proto.h
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2012-02-03 11:40:34 -0700
committerKarl Williamson <public@khwilliamson.com>2012-02-09 10:13:55 -0700
commit164173a25b2f985f00a4cb2ce75ac3918aef2e02 (patch)
tree601cd7714c92cac49e1a92d2456d945b8f2b3abc /proto.h
parent3f80b5713f755394d2d1a3bc3befb0dd82a19f64 (diff)
downloadperl-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.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/proto.h b/proto.h
index c79be42aed..bae0f9dfb1 100644
--- a/proto.h
+++ b/proto.h
@@ -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)