Update ExtUtils::ParseXS to 2.200403
David Golden [Fri, 2 Oct 2009 06:07:35 +0000 (02:07 -0400)]
2.200403 - Fri Oct  2 02:01:58 EDT 2009

 Other:
 - Removed PERL_CORE specific @INC manipulation (no longer needed)
   [Nicholas Clark]
 - Changed hard-coded $^H manipulation in favor of "use re 'eval'"
   [Nicholas Clark]

2.200402 - Fri Oct  2 01:26:40 EDT 2009

 Bug fixes:
 - UNITCHECK subroutines were not being called (detected in ext/XS-APItest
   in Perl blead) [reported by Jesse Vincent, patched by David Golden]

2.200401 - Mon Sep 14 22:26:03 EDT 2009

 - No changes from 2.20_04.

2.20_04 - Mon Aug 10 11:18:47 EDT 2009

 Bug fixes:
 - Changed install_dirs to 'core' for 5.8.9 as well (RT#48474)
 - Removed t/bugs.t until there is better C++ support in ExtUtils::CBuilder

 Other:
 - Updated repository URL in META file

2.20_03 - Thu Jul 23 23:14:50 EDT 2009

 Bug fixes:
 - Fixed "const char *" errors for 5.8.8 (and older) (RT#48104)
   [Vincent Pit]
 - Added newline before a preprocessor directive (RT#30673)
   [patch by hjp]

Porting/Maintainers.pl
cpan/ExtUtils-ParseXS/Changes
cpan/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm

index fc86ca2..d812ea0 100755 (executable)
@@ -626,7 +626,7 @@ use File::Glob qw(:case);
     'ExtUtils::ParseXS' =>
        {
        'MAINTAINER'    => 'kwilliams',
-       'DISTRIBUTION'  => 'DAGOLDEN/ExtUtils-ParseXS-2.2002.tar.gz',
+       'DISTRIBUTION'  => 'DAGOLDEN/ExtUtils-ParseXS-2.200403.tar.gz',
        'FILES'         => q[cpan/ExtUtils-ParseXS],
        'CPAN'          => 1,
        'UPSTREAM'      => 'cpan',
index b2568d0..634d8d9 100644 (file)
@@ -1,5 +1,40 @@
 Revision history for Perl extension ExtUtils::ParseXS.
 
+2.200403 - Fri Oct  2 02:01:58 EDT 2009
+
+ Other:
+ - Removed PERL_CORE specific @INC manipulation (no longer needed)
+   [Nicholas Clark]
+ - Changed hard-coded $^H manipulation in favor of "use re 'eval'"
+   [Nicholas Clark]
+
+2.200402 - Fri Oct  2 01:26:40 EDT 2009
+
+ Bug fixes:
+ - UNITCHECK subroutines were not being called (detected in ext/XS-APItest
+   in Perl blead) [reported by Jesse Vincent, patched by David Golden]
+
+2.200401 - Mon Sep 14 22:26:03 EDT 2009
+
+ - No changes from 2.20_04.
+
+2.20_04 - Mon Aug 10 11:18:47 EDT 2009
+
+ Bug fixes:
+ - Changed install_dirs to 'core' for 5.8.9 as well (RT#48474)
+ - Removed t/bugs.t until there is better C++ support in ExtUtils::CBuilder
+
+ Other:
+ - Updated repository URL in META file
+
+2.20_03 - Thu Jul 23 23:14:50 EDT 2009
+
+ Bug fixes:
+ - Fixed "const char *" errors for 5.8.8 (and older) (RT#48104)
+   [Vincent Pit]
+ - Added newline before a preprocessor directive (RT#30673)
+   [patch by hjp]
+
 2.2002 - Sat Jul 18 17:22:27 EDT 2009
 
  Bug fixes:
index 93bca09..4835d53 100644 (file)
@@ -18,7 +18,7 @@ my(@XSStack); # Stack of conditionals and INCLUDEs
 my($XSS_work_idx, $cpp_next_tmp);
 
 use vars qw($VERSION);
-$VERSION = '2.2003';
+$VERSION = '2.200403';
 
 use vars qw(%input_expr %output_expr $ProtoUsed @InitFileCode $FH $proto_re $Overload $errors $Fallback
            $cplusplus $hiertype $WantPrototypes $WantVersionChk $except $WantLineNumbers
@@ -210,8 +210,8 @@ sub process_file {
   $size = qr[,\s* (??{ $bal }) ]x; # Third arg (to setpvn)
 
   foreach my $key (keys %output_expr) {
-    # We can still bootstrap compile 're', because in code re.pm is available to
-    # miniperl, and does not attempt to load the XS code.
+    # We can still bootstrap compile 're', because in code re.pm is
+    # available to miniperl, and does not attempt to load the XS code.
     use re 'eval';
 
     my ($t, $with_size, $arg, $sarg) =
@@ -557,7 +557,6 @@ EOF
       my $arg0 = ((defined($static) or $func_name eq 'new')
                  ? "CLASS" : "THIS");
       unshift(@args, $arg0);
-      ($report_args = "$arg0, $report_args") =~ s/^\w+, $/$arg0/;
     }
     my $extra_args = 0;
     @args_num = ();
@@ -978,10 +977,17 @@ EOF
 ##endif
 EOF
 
+  #Under 5.8.x and lower, newXS is declared in proto.h as expecting a non-const
+  #file name argument. If the wrong qualifier is used, it causes breakage with
+  #C++ compilers and warnings with recent gcc.
   #-Wall: if there is no $Full_func_name there are no xsubs in this .xs
   #so `file' is unused
   print Q(<<"EOF") if $Full_func_name;
+##if (PERL_REVISION == 5 && PERL_VERSION < 9)
+#    char file[] = __FILE__;
+##else
 #    const char* file = __FILE__;
+##endif
 EOF
 
   print Q("#\n");
@@ -1028,12 +1034,12 @@ EOF
     print "\n    /* End of Initialisation Section */\n\n" ;
   }
 
-  if ($] >= 5.009) {
-    print <<'EOF';
-    if (PL_unitcheckav)
-         call_list(PL_scopestack_ix, PL_unitcheckav);
+  print Q(<<'EOF');
+##if (PERL_REVISION == 5 && PERL_VERSION >= 9)
+#  if (PL_unitcheckav)
+#       call_list(PL_scopestack_ix, PL_unitcheckav);
+##endif
 EOF
-  }
 
   print Q(<<"EOF");
 #    XSRETURN_YES;
@@ -1162,7 +1168,7 @@ sub INPUT_handler {
       print "\tSTRLEN\tSTRLEN_length_of_$2;\n";
       $lengthof{$2} = $name;
       # $islengthof{$name} = $1;
-      $deferred .= "\n\tXSauto_length_of_$2 = STRLEN_length_of_$2;";
+      $deferred .= "\n\tXSauto_length_of_$2 = STRLEN_length_of_$2;\n";
     }
 
     # check for optional initialisation code