diff options
author | Craig A. Berry <craigberry@mac.com> | 2016-04-06 20:59:12 -0500 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2016-05-09 11:19:05 -0600 |
commit | 534dad482495d5659cc3fdec2b8189067f5c84e5 (patch) | |
tree | 049e2b9707d391de3676ae9fa17129d71ad5c3ec /regnodes.h | |
parent | 4ee010a8de7e086d97cebe73ad4c69d91d1ae7f0 (diff) | |
download | perl-534dad482495d5659cc3fdec2b8189067f5c84e5.tar.gz |
Finish mathomizing Perl_instr.
fea1d2dd5d210564d4 turned instr into a macro. It also left the
actual function in util.c while commenting out the prototype
in proto.h (via the m flag in embed.fnc).
A function compiled without a prototype under C++ does not get
declared with extern "C" and thus gets mangled, which breaks the
build with a strict linker (VMS, possibly AIX) because the
expected symbol name is no longer produced. Without a strict
linker, it just breaks the binary compatibility that was presumably
the nominal reason for leaving the function around in the first
place.
So move the function into mathoms.c and put its prototype in the
extern "C"-guarded section at the top of the same file.
We also have to fake the PERL_ARGS_ASSERT_INSTR macro since its
original declaration in proto.h is commented out but the porting
test t/porting/args_assert.t will take revenge if it doesn't
find the macro being used somewhere.
Diffstat (limited to 'regnodes.h')
0 files changed, 0 insertions, 0 deletions