summaryrefslogtreecommitdiff
path: root/mathoms.c
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2016-05-23 15:45:20 +0100
committerDavid Mitchell <davem@iabyn.com>2016-05-23 16:01:04 +0100
commitd7244c9a613101b97077ed781e11a729c347555c (patch)
tree0208cf88d0314779d5e7729d08600f1777c8585f /mathoms.c
parent4cb26c52ed90189e6e3564a4654b869fe4c4d3e6 (diff)
downloadperl-d7244c9a613101b97077ed781e11a729c347555c.tar.gz
mathoms.c: add explanation why fns must be kept
See http://nntp.perl.org/group/perl.perl5.porters/236384.
Diffstat (limited to 'mathoms.c')
-rw-r--r--mathoms.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/mathoms.c b/mathoms.c
index 6c603289f8..0ebf4349f7 100644
--- a/mathoms.c
+++ b/mathoms.c
@@ -21,8 +21,16 @@
/*
* This file contains mathoms, various binary artifacts from previous
- * versions of Perl. For binary or source compatibility reasons, though,
- * we cannot completely remove them from the core code.
+ * versions of Perl which we cannot completely remove from the core
+ * code. There are two reasons functions should be here:
+ *
+ * 1) A function has been been replaced by a macro within a minor release,
+ * so XS modules compiled against an older release will expect to
+ * still be able to link against the function
+ * 2) A function Perl_foo(...) with #define foo Perl_foo(aTHX_ ...)
+ * has been replaced by a macro, e.g. #define foo(...) foo_flags(...,0)
+ * but XS code may still explicitly use the long form, i.e.
+ * Perl_foo(aTHX_ ...)
*
* REMEMBER to update makedef.pl when adding a function to mathoms.c whose
* name doesn't begin with "Perl_".