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:
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
$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) =
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 = ();
##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");
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;
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