summaryrefslogtreecommitdiff
path: root/mathoms.c
diff options
context:
space:
mode:
authorDaniel Dragan <bulk88@hotmail.com>2018-04-11 02:15:18 -0400
committerKarl Williamson <khw@cpan.org>2018-04-15 11:45:23 -0600
commit1545ba5b042c208e23333479730479c0acd55325 (patch)
treec871acda65ce0d8f6f8ff0028a373683fdc835c8 /mathoms.c
parent7723e0077ab2970477de35881407f68179022294 (diff)
downloadperl-1545ba5b042c208e23333479730479c0acd55325.tar.gz
fix -DNO_MATHOMS build, mathomed syms were not removed from perldll.def
Commit 3f1866a8f6 assumed "A" flag means a function can't be mathomed. Not true. Many funcs were listed in embed.fnc as "A" yet were in mathoms.c. This caused a missing symbol link failure on Win32 with -DNO_MATHOMS, since the "A" mathomed funcs were now put into perlldll.def while previously they were parsed out of mathoms.c by makedef.pl. Revise the logic so "b" means instant removal from the export list on a no mathoms build. embed.fnc "b" flag adds were generated from a missing symbol list from my linker, some funcs not in my build/platform config might need to be "b" flagged in future. Some funcs like ASCII_TO_NEED were already marked "b" but still being by mistake exported because they were also "A". sv_2bool, sv_eq and sv_collxfrm also needed a "p" flag or a Perl_-less symbol was declared in proto.h. sv_2bool and sv_collxfrm also failed porting/args_assert.t so add those macros to mathoms.c
Diffstat (limited to 'mathoms.c')
-rw-r--r--mathoms.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mathoms.c b/mathoms.c
index 80bc35d0ae..ed466c2c71 100644
--- a/mathoms.c
+++ b/mathoms.c
@@ -1081,6 +1081,7 @@ Perl_sv_eq(pTHX_ SV *sv1, SV *sv2)
char *
Perl_sv_collxfrm(pTHX_ SV *const sv, STRLEN *const nxp)
{
+ PERL_ARGS_ASSERT_SV_COLLXFRM;
return sv_collxfrm_flags(sv, nxp, SV_GMAGIC);
}
@@ -1100,6 +1101,7 @@ Perl_mem_collxfrm(pTHX_ const char *input_string, STRLEN len, STRLEN *xlen)
bool
Perl_sv_2bool(pTHX_ SV *const sv)
{
+ PERL_ARGS_ASSERT_SV_2BOOL;
return sv_2bool_flags(sv, SV_GMAGIC);
}