This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
fix C++ builds broken by cdc4a174060
authorDaniel Dragan <bulk88@hotmail.com>
Wed, 10 Oct 2012 21:23:27 +0000 (17:23 -0400)
committerKarl Williamson <public@khwilliamson.com>
Wed, 10 Oct 2012 23:09:05 +0000 (17:09 -0600)
commit98c015b7a9b5140b2750b25518eb68b5024d7652
tree8024448b612f5a6ed32e14adc9d2fd6916668b54
parent451f421fe4742646fa2efbed0f45a19f0713d00f
fix C++ builds broken by cdc4a174060

In commit cdc4a174060 static noreturn function, on a C++ build, (specific
example, GCC ) got a post preprocessor prototype of
"extern "C" static void S_fn_doesnt_return(". GCC generates a compile error
if "extern "C"" and static used together. Plain C build were not affected.

This commit fixed the problem by creating 2 new static exclusive macros, so
extern "C" does not wind up on statics in a C++ build. The macros allow
enough flexibility so any compiler/platform that needs a noreturn
declaration specifier instead of a noreturn function attribute can have
one.
perl.h
proto.h
regen/embed.pl
win32/win32.h