summaryrefslogtreecommitdiff
path: root/perl.h
diff options
context:
space:
mode:
authorDaniel Dragan <bulk88@hotmail.com>2012-07-16 16:02:45 -0400
committerJan Dubois <jand@activestate.com>2012-07-18 15:30:30 -0700
commit12a2785c7e86f586a05cad9ff90ce673c68c3115 (patch)
treeb1debe71307e649ac7b751f5e1feab5456896f7c /perl.h
parent6db9054f2b5640f8df429d7daec73a0d5af01a8a (diff)
downloadperl-12a2785c7e86f586a05cad9ff90ce673c68c3115.tar.gz
Adding support for Visual C's __declspec(noreturn) function declarations to perl
This will reduce the machine code size on Visual C Perl, by removing C stack clean up opcodes and possible jmp opcodes after croak() and similar functions. Perl's existing __attribute__noreturn__ macro (and therefore GCC's __attribute__((noreturn)) ) is fundamentally incompatible with MS's implementation for noreturn functions. win32.h already has _MSC_VER aware code blocks, so adding more isn't a problem.
Diffstat (limited to 'perl.h')
-rw-r--r--perl.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/perl.h b/perl.h
index fe659040cc..a7cd37ac21 100644
--- a/perl.h
+++ b/perl.h
@@ -5024,6 +5024,10 @@ struct tempsym; /* defined in pp_pack.c */
# define PERL_CALLCONV
# endif
#endif
+#ifndef PERL_CALLCONV_NO_RET
+# define PERL_CALLCONV_NO_RET PERL_CALLCONV
+#endif
+
#undef PERL_CKDEF
#undef PERL_PPDEF
#define PERL_CKDEF(s) PERL_CALLCONV OP *s (pTHX_ OP *o);