diff options
author | Daniel Dragan <bulk88@hotmail.com> | 2012-10-08 02:13:22 -0400 |
---|---|---|
committer | Steve Hay <steve.m.hay@googlemail.com> | 2012-10-09 20:59:01 +0100 |
commit | cdc4a17406010fd176cecceef1e025e34a60202f (patch) | |
tree | b18b5be657986a6db3adabd736d6490a5044b8de /regen | |
parent | 5a2b28cee560cf253bd6a196081dfbe2ac9bb22a (diff) | |
download | perl-cdc4a17406010fd176cecceef1e025e34a60202f.tar.gz |
have embed.pl add PERL_CALLCONV_NO_RET to noreturn statics
In commit 12a2785c7e8 PERL_CALLCONV_NO_RET was added to allow MS Visual C's
noreturn to work. In that commit, statics did not get a PERL_CALLCONV_NO_RET
so Visual C may not always figure out that a certain static is a noreturn.
This patch fixes that and allows statics to be Visual C noreturns. I
observed a drop in the .text section from 0xBEAAF to 0xBE8CF on no
DEBUGGING 32 bit VC 2003 -01 -GL/-LTCG after applying this.
Diffstat (limited to 'regen')
-rwxr-xr-x | regen/embed.pl | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/regen/embed.pl b/regen/embed.pl index 9f8a07af30..a7419ba26d 100755 --- a/regen/embed.pl +++ b/regen/embed.pl @@ -89,6 +89,9 @@ my ($embed, $core, $ext, $api) = setup_embed(); warn "$func: i and s flags are mutually exclusive" if $flags =~ /s/ && $flags =~ /i/; $retval = "$type $splint_flags$retval"; + if ($never_returns) { + $retval = "PERL_CALLCONV_NO_RET $retval"; + } $func = "S_$plain_func"; } else { |