This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Correction to 0563a5d0db
authorSteve Hay <steve.m.hay@googlemail.com>
Wed, 28 Jan 2015 08:46:28 +0000 (08:46 +0000)
committerSteve Hay <steve.m.hay@googlemail.com>
Wed, 28 Jan 2015 08:46:28 +0000 (08:46 +0000)
commit0c5a1073d3e8debefdaa5b534337acb1b0c060ef
tree5ff7df67603aa4499f9a27b9dff531faa30ab52c
parent4932eecad028c2cea4d6a7602933bc677c540fb5
Correction to 0563a5d0db

Functions marked "b" do not have to be in mathoms.c after all. That was
partly based on the belief (from e4524c4c2a) that "b" functions have their
proto.h entries skipped, but that is not the case. It is "m" functions
(macros) that have their proto.h entries skipped. The confusion may have
arisen because all but four current "b" functions have "m" as well anyway.

However, even functions marked "b" and "m" do not absolutely have to be in
mathoms.c. At the time of writing they all are, which is convenient for
having the symbols marked EXTERN_C, which is required to unmangle the
exported names in a C++ build (see d447858807). Their presence in mathoms.c
will also have them skipped from -DNO_MATHOMS builds (as of 075eb5c9b6).
But it is possible for "bm" functions to exist elsewhere as long as they
are explicitly marked EXTERN_C. In that case they won't be automatically
skipped for -DNO_MATHOMS builds either, which may or may not require
special attention too.

Thanks to Craig A. Berry for pointing out that 0563a5d0db wasn't quite
correct.
embed.fnc