summaryrefslogtreecommitdiff
path: root/embed.fnc
diff options
context:
space:
mode:
authorHugo van der Sanden <hv@crypt.org>2003-01-21 01:52:49 +0000
committerhv <hv@crypt.org>2003-01-21 01:52:49 +0000
commitde37762f3a9822aa6b4b8e833f672685d8ce22a5 (patch)
tree3debdf24685cc8b36b1c6d2e6ec3ed126c7b1efd /embed.fnc
parent7e8c5daceba7cb185532328a3b67d4ca7ba4811b (diff)
downloadperl-de37762f3a9822aa6b4b8e833f672685d8ce22a5.tar.gz
integrate #18366-18370 from maint-5.8:
Implement the CPP namespace protection from [perl #8610]; unless a function has an 'A' flag, it's defined only if PERL_CORE. (Why do we have so many many functions with an 'A' flag, is another matter.) (The number of #ifdef PERL_COREs could be cut down further by having a state variable and inserting #ifdefs and #endifs when the state flips.) Caught by change #18366; thanks to the re extension we have some functions that are file static but yet part of "the public API"... Maybe a new class of exportability (a new embed.fnc flag) is required for this case. Continue on change #18367; implement the said flag, 'E'. (Some nm output studying was needed to get the right set of re symbols defined.) In AIX (strict symbol exports) the cxinc is needed for List::Util. p4raw-link: @18367 on //depot/maint-5.8/perl: 6f21c313c98cc4764e09fbbce2c8792576c90d7d p4raw-link: @18366 on //depot/maint-5.8/perl: 704f60d9cfa8683df64f005e872b37aea8f9d60e p4raw-id: //depot/perl@18531
Diffstat (limited to 'embed.fnc')
-rw-r--r--embed.fnc91
1 files changed, 46 insertions, 45 deletions
diff --git a/embed.fnc b/embed.fnc
index d8cf699ae0..4394eba915 100644
--- a/embed.fnc
+++ b/embed.fnc
@@ -17,6 +17,7 @@
: o has no compatibility macro (#define foo Perl_foo)
: x not exported
: M may change
+: E visible to Perl core extensions
:
: Individual flags may be separated by whitespace.
:
@@ -140,7 +141,7 @@ Ap |char** |get_op_names
p |char* |get_no_modify
p |U32* |get_opargs
Ap |PPADDR_t*|get_ppaddr
-p |I32 |cxinc
+Ap |I32 |cxinc
Afp |void |deb |const char* pat|...
Ap |void |vdeb |const char* pat|va_list* args
Ap |void |debprofdump
@@ -605,7 +606,7 @@ Ap |I32 |regexec_flags |regexp* prog|char* stringarg \
|char* strend|char* strbeg|I32 minend \
|SV* screamer|void* data|U32 flags
Ap |regnode*|regnext |regnode* p
-p |void |regprop |SV* sv|regnode* o
+Ep |void |regprop |SV* sv|regnode* o
Ap |void |repeatcpy |char* to|const char* from|I32 len|I32 count
Ap |char* |rninstr |const char* big|const char* bigend \
|const char* little|const char* lend
@@ -1092,60 +1093,60 @@ s |int |dooneliner |char *cmd|char *filename
#endif
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
-s |regnode*|reg |struct RExC_state_t*|I32|I32 *
-s |regnode*|reganode |struct RExC_state_t*|U8|U32
-s |regnode*|regatom |struct RExC_state_t*|I32 *
-s |regnode*|regbranch |struct RExC_state_t*|I32 *|I32
-s |void |reguni |struct RExC_state_t*|UV|char *|STRLEN*
-s |regnode*|regclass |struct RExC_state_t*
-s |I32 |regcurly |char *
-s |regnode*|reg_node |struct RExC_state_t*|U8
-s |regnode*|regpiece |struct RExC_state_t*|I32 *
-s |void |reginsert |struct RExC_state_t*|U8|regnode *
-s |void |regoptail |struct RExC_state_t*|regnode *|regnode *
-s |void |regtail |struct RExC_state_t*|regnode *|regnode *
-s |char*|regwhite |char *|char *
-s |char*|nextchar |struct RExC_state_t*
+Es |regnode*|reg |struct RExC_state_t*|I32|I32 *
+Es |regnode*|reganode |struct RExC_state_t*|U8|U32
+Es |regnode*|regatom |struct RExC_state_t*|I32 *
+Es |regnode*|regbranch |struct RExC_state_t*|I32 *|I32
+Es |void |reguni |struct RExC_state_t*|UV|char *|STRLEN*
+Es |regnode*|regclass |struct RExC_state_t*
+Es |I32 |regcurly |char *
+Es |regnode*|reg_node |struct RExC_state_t*|U8
+Es |regnode*|regpiece |struct RExC_state_t*|I32 *
+Es |void |reginsert |struct RExC_state_t*|U8|regnode *
+Es |void |regoptail |struct RExC_state_t*|regnode *|regnode *
+Es |void |regtail |struct RExC_state_t*|regnode *|regnode *
+Es |char*|regwhite |char *|char *
+Es |char*|nextchar |struct RExC_state_t*
# ifdef DEBUGGING
-s |regnode*|dumpuntil |regnode *start|regnode *node \
+Es |regnode*|dumpuntil |regnode *start|regnode *node \
|regnode *last|SV* sv|I32 l
-s |void |put_byte |SV* sv|int c
+Es |void |put_byte |SV* sv|int c
# endif
-s |void |scan_commit |struct RExC_state_t*|struct scan_data_t *data
-s |void |cl_anything |struct RExC_state_t*|struct regnode_charclass_class *cl
-s |int |cl_is_anything |struct regnode_charclass_class *cl
-s |void |cl_init |struct RExC_state_t*|struct regnode_charclass_class *cl
-s |void |cl_init_zero |struct RExC_state_t*|struct regnode_charclass_class *cl
-s |void |cl_and |struct regnode_charclass_class *cl \
+Es |void |scan_commit |struct RExC_state_t*|struct scan_data_t *data
+Es |void |cl_anything |struct RExC_state_t*|struct regnode_charclass_class *cl
+Es |int |cl_is_anything |struct regnode_charclass_class *cl
+Es |void |cl_init |struct RExC_state_t*|struct regnode_charclass_class *cl
+Es |void |cl_init_zero |struct RExC_state_t*|struct regnode_charclass_class *cl
+Es |void |cl_and |struct regnode_charclass_class *cl \
|struct regnode_charclass_class *and_with
-s |void |cl_or |struct RExC_state_t*|struct regnode_charclass_class *cl \
+Es |void |cl_or |struct RExC_state_t*|struct regnode_charclass_class *cl \
|struct regnode_charclass_class *or_with
-s |I32 |study_chunk |struct RExC_state_t*|regnode **scanp|I32 *deltap \
+Es |I32 |study_chunk |struct RExC_state_t*|regnode **scanp|I32 *deltap \
|regnode *last|struct scan_data_t *data \
|U32 flags
-s |I32 |add_data |struct RExC_state_t*|I32 n|char *s
+Es |I32 |add_data |struct RExC_state_t*|I32 n|char *s
rs |void|re_croak2 |const char* pat1|const char* pat2|...
-s |I32 |regpposixcc |struct RExC_state_t*|I32 value
-s |void |checkposixcc |struct RExC_state_t*
+Es |I32 |regpposixcc |struct RExC_state_t*|I32 value
+Es |void |checkposixcc |struct RExC_state_t*
#endif
#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
-s |I32 |regmatch |regnode *prog
-s |I32 |regrepeat |regnode *p|I32 max
-s |I32 |regrepeat_hard |regnode *p|I32 max|I32 *lp
-s |I32 |regtry |regexp *prog|char *startpos
-s |bool |reginclass |regnode *n|U8 *p|STRLEN *lenp|bool do_utf8sv_is_utf8
-s |CHECKPOINT|regcppush |I32 parenfloor
-s |char*|regcppop
-s |char*|regcp_set_to |I32 ss
-s |void |cache_re |regexp *prog
-s |U8* |reghop |U8 *pos|I32 off
-s |U8* |reghop3 |U8 *pos|I32 off|U8 *lim
-s |U8* |reghopmaybe |U8 *pos|I32 off
-s |U8* |reghopmaybe3 |U8 *pos|I32 off|U8 *lim
-s |char* |find_byclass |regexp * prog|regnode *c|char *s|char *strend|char *startpos|I32 norun
-s |void |to_utf8_substr |regexp * prog
-s |void |to_byte_substr |regexp * prog
+Es |I32 |regmatch |regnode *prog
+Es |I32 |regrepeat |regnode *p|I32 max
+Es |I32 |regrepeat_hard |regnode *p|I32 max|I32 *lp
+Es |I32 |regtry |regexp *prog|char *startpos
+Es |bool |reginclass |regnode *n|U8 *p|STRLEN *lenp|bool do_utf8sv_is_utf8
+Es |CHECKPOINT|regcppush |I32 parenfloor
+Es |char*|regcppop
+Es |char*|regcp_set_to |I32 ss
+Es |void |cache_re |regexp *prog
+Es |U8* |reghop |U8 *pos|I32 off
+Es |U8* |reghop3 |U8 *pos|I32 off|U8 *lim
+Es |U8* |reghopmaybe |U8 *pos|I32 off
+Es |U8* |reghopmaybe3 |U8 *pos|I32 off|U8 *lim
+Es |char* |find_byclass |regexp * prog|regnode *c|char *s|char *strend|char *startpos|I32 norun
+Es |void |to_utf8_substr |regexp * prog
+Es |void |to_byte_substr |regexp * prog
#endif
#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)