This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
readd noreturn and silence "noreturn that returns" warning on MSVC
authorDaniel Dragan <bulk88@hotmail.com>
Sun, 16 Nov 2014 02:00:16 +0000 (21:00 -0500)
committerFather Chrysostomos <sprout@cpan.org>
Sun, 16 Nov 2014 06:17:42 +0000 (22:17 -0800)
commitf8d5a52263698f3448751c5ac18d2b5edac28b36
tree19b0723c7099256a9d5e6591d9100c4739fc131f
parentc1f06047c0ded9ef04cacab9735c6c65fa803b18
readd noreturn and silence "noreturn that returns" warning on MSVC

Based on commit 73758d77 (by me), in commit 117af67d629 more things got
noreturn removed on MSVC. See also ML post
"(Hugmeir) Re: [perl.git] branch blead, updated. v5.21.0-377-gdc3bf40"
This caused a measurable increase in machine code size in 117af67d629 .
In commit 73758d77 , the reason there was no increase is
Perl_magic_regdatum_set is called only through a magic vtable. Optimizing
this to noreturn is forbidden unless the struct member type specifies it
(and it obviously doesn't, since this is the magic vtable).

The other not-noreturn on MSVC function, Perl_screaminstr, has no core
usage (its only reference is in the export table) or CPAN grep usage so
therefore it is being removed. It was made fatal in commit 9e3f0d16db .

before .text section of perl521.dll on VC 2003 32b, 0xc66a3 bytes, after
0xc6453
embed.fnc
embed.h
pod/perldelta.pod
proto.h
util.c