This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regen/embed.pl: Generally generate an ARGS_ASSERT
authorKarl Williamson <khw@cpan.org>
Mon, 9 Sep 2019 17:53:55 +0000 (11:53 -0600)
committerKarl Williamson <khw@cpan.org>
Sun, 15 Sep 2019 16:39:55 +0000 (10:39 -0600)
commit2015d234640f7832c28ec6051e8a8f3fc751c7b5
tree1d7bd8f7a04b4888999b2b1aa31e3c2429c2e0d0
parentedfae0c7aede11b7c295c6a40882406849675792
regen/embed.pl: Generally generate an ARGS_ASSERT

Prior to this commit, if you changed a pointer argument to allow it
being a NULL, you had to go in and also remove the function's
PERL_ARGS_ASSERT macro call.  Now, such macros are generally defined
even if they are empty, so you can add such a call to any function, and
it will always compile.  If there is no assertion needed, the macro
expands to nothing.

Thus now, the use of these macros is optional when no assert is needed;
but still required by the porting test args_assert.t when an assert is
needed.

The generation of such a macro (when its use is optional) can be
suppressed for individual entries by the new G flag in embed.fnc, also
added by this commit.
embed.fnc
proto.h
regen/embed.pl
t/porting/args_assert.t