This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add embed.fnc entry for ReANY
authorKarl Williamson <khw@cpan.org>
Thu, 12 Sep 2019 02:33:05 +0000 (20:33 -0600)
committerKarl Williamson <khw@cpan.org>
Sun, 15 Sep 2019 16:39:56 +0000 (10:39 -0600)
This inline function should have an entry.

embed.fnc
inline.h
proto.h

index e3c94d1..8bcee1c 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -1539,6 +1539,7 @@ ApMb      |OP*    |ref            |NULLOK OP* o|I32 type
 S      |OP*    |refkids        |NULLOK OP* o|I32 type
 #endif
 Ap     |void   |regdump        |NN const regexp* r
+CiTop  |struct regexp *|ReANY  |NN const REGEXP * const re
 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_PERL_C) || defined(PERL_IN_UTF8_C)
 EXpR   |SV*    |_new_invlist_C_array|NN const UV* const list
 EXp    |bool   |_invlistEQ     |NN SV* const a|NN SV* const b|const bool complement_b
index a63feed..c35fe95 100644 (file)
--- a/inline.h
+++ b/inline.h
@@ -185,7 +185,10 @@ PERL_STATIC_INLINE struct regexp *
 Perl_ReANY(const REGEXP * const re)
 {
     XPV* const p = (XPV*)SvANY(re);
+
+    PERL_ARGS_ASSERT_REANY;
     assert(isREGEXP(re));
+
     return SvTYPE(re) == SVt_PVLV ? p->xpv_len_u.xpvlenu_rx
                                    : (struct regexp *)p;
 }
diff --git a/proto.h b/proto.h
index 12f4ed4..9362088 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -70,6 +70,11 @@ PERL_CALLCONV int    Perl_PerlLIO_open_cloexec(pTHX_ const char *file, int flag)
 
 PERL_CALLCONV const char*      Perl_setlocale(const int category, const char* locale);
 #define PERL_ARGS_ASSERT_PERL_SETLOCALE
+#ifndef PERL_NO_INLINE_FUNCTIONS
+PERL_STATIC_INLINE struct regexp *     Perl_ReANY(const REGEXP * const re);
+#define PERL_ARGS_ASSERT_REANY \
+       assert(re)
+#endif
 PERL_CALLCONV void*    Perl_Slab_Alloc(pTHX_ size_t sz)
                        __attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_SLAB_ALLOC