In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/ae2e176f7be6c85a6339a59bda00ae2f36d09397?hp=673699fed0c089f7819da8740d236474460a3d91>

- Log -----------------------------------------------------------------
commit ae2e176f7be6c85a6339a59bda00ae2f36d09397
Author: Nicholas Clark <[email protected]>
Date:   Wed Dec 7 11:26:29 2011 +0100

    Porting/expand-macro.pl needs to avoid "macro redefined" errors.
    
    In the C code that Porting/expand-macro.pl generates, it #includes the
    header containing the macro, to ensure that the macro definition is seen.
    This was skipped for perl.h and EXTERN.h, which it always automatically
    includes. However, perl.h includes embed.h and embedvar.h and then undefines
    and redefines macros in them. Hence if either header is included (again) the
    compiler warns about macro redefinitions. Hence ensure that neither is
    included a second time.
-----------------------------------------------------------------------

Summary of changes:
 Porting/expand-macro.pl |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/Porting/expand-macro.pl b/Porting/expand-macro.pl
index 6b33f74..f422a44 100755
--- a/Porting/expand-macro.pl
+++ b/Porting/expand-macro.pl
@@ -62,7 +62,9 @@ open my $out, '>', $trysource or die "Can't open $trysource: 
$!";
 
 my $sentinel = "$macro expands to";
 
-my %done_header;
+# These two are included from perl.h, and perl.h sometimes redefines their
+# macros. So no need to include them.
+my %done_header = ('embed.h' => 1, 'embedvar.h' => 1);
 
 sub do_header {
     my $header = shift;

--
Perl5 Master Repository

Reply via email to