r21674 - in /branches/upstream/libextutils-parsexs-perl/current: Changes META.yml lib/ExtUtils/ParseXS.pm t/XSTest.pm t/XSTest.xs

yvesago-guest at users.alioth.debian.org yvesago-guest at users.alioth.debian.org
Sun Jun 15 19:04:56 UTC 2008


Author: yvesago-guest
Date: Sun Jun 15 19:04:56 2008
New Revision: 21674

URL: http://svn.debian.org/wsvn/?sc=1&rev=21674
Log:
[svn-upgrade] Integrating new upstream version, libextutils-parsexs-perl (2.19)

Modified:
    branches/upstream/libextutils-parsexs-perl/current/Changes
    branches/upstream/libextutils-parsexs-perl/current/META.yml
    branches/upstream/libextutils-parsexs-perl/current/lib/ExtUtils/ParseXS.pm
    branches/upstream/libextutils-parsexs-perl/current/t/XSTest.pm
    branches/upstream/libextutils-parsexs-perl/current/t/XSTest.xs

Modified: branches/upstream/libextutils-parsexs-perl/current/Changes
URL: http://svn.debian.org/wsvn/branches/upstream/libextutils-parsexs-perl/current/Changes?rev=21674&op=diff
==============================================================================
--- branches/upstream/libextutils-parsexs-perl/current/Changes (original)
+++ branches/upstream/libextutils-parsexs-perl/current/Changes Sun Jun 15 19:04:56 2008
@@ -1,4 +1,38 @@
 Revision history for Perl extension ExtUtils::ParseXS.
+
+ - Fixed the treatment of the OVERLOAD: keyword, which was causing a C
+   compile error. [Toshiyuki Yamato]
+
+2.18 - Mon Jan 29 20:56:36 2007
+
+ - Added some UNITCHECK stuff, which (I think) makes XS code able to
+   do UNITCHECK blocks. [Nicholas Clark]
+
+ - Changed 'use re "eval";' to 'BEGIN { $^H |= 0x00200000 };' so we
+   can compile re.xs in bleadperl. [Yves Orton]
+
+ - Fix an undefined-variable warning related to 'inout' parameter
+   processing.
+
+2.17 - Mon Nov 20 17:07:27 2006
+
+ - Stacked $filepathname to make #line directives in #INCLUDEs work.
+   [Nicholas Clark]
+
+ - Sprinked dVAR in with dXSARGS, for God-(Jarkko)-knows-what
+   reason. [Jarkko Hietaniemi]
+
+ - Use printf-style formats in Perl_croak() for some significant
+   savings in number of distinct constant strings in the linked
+   binaries we create. [Alexey Tourbin]
+
+ - Don't use 'class' as a variable name in the t/XSTest.xs module,
+   since that's a keyword in C++. [Jarkko Hietaniemi]
+
+2.16  Fri Sep 15 22:33:24 CDT 2006
+
+ - Fix a problem with PREFIX not working inside INTERFACE
+   sections. [Salvador Fandin~o]
 
 2.15  Mon Oct 10 11:02:13 EDT 2005
 

Modified: branches/upstream/libextutils-parsexs-perl/current/META.yml
URL: http://svn.debian.org/wsvn/branches/upstream/libextutils-parsexs-perl/current/META.yml?rev=21674&op=diff
==============================================================================
--- branches/upstream/libextutils-parsexs-perl/current/META.yml (original)
+++ branches/upstream/libextutils-parsexs-perl/current/META.yml Sun Jun 15 19:04:56 2008
@@ -1,8 +1,8 @@
---- #YAML:1.0
+---
 name: ExtUtils-ParseXS
-version: 2.15
+version: 2.19
 author:
-  - Maintained by Ken Williams, <ken at mathforum.org>
+  - 'Maintained by Ken Williams, <ken at mathforum.org>'
 abstract: converts Perl XS code into C code
 license: perl
 resources:
@@ -18,5 +18,8 @@
 provides:
   ExtUtils::ParseXS:
     file: lib/ExtUtils/ParseXS.pm
-    version: 2.15
-generated_by: Module::Build version 0.2702
+    version: 2.19
+generated_by: Module::Build version 0.2808
+meta-spec:
+  url: http://module-build.sourceforge.net/META-spec-v1.2.html
+  version: 1.2

Modified: branches/upstream/libextutils-parsexs-perl/current/lib/ExtUtils/ParseXS.pm
URL: http://svn.debian.org/wsvn/branches/upstream/libextutils-parsexs-perl/current/lib/ExtUtils/ParseXS.pm?rev=21674&op=diff
==============================================================================
--- branches/upstream/libextutils-parsexs-perl/current/lib/ExtUtils/ParseXS.pm (original)
+++ branches/upstream/libextutils-parsexs-perl/current/lib/ExtUtils/ParseXS.pm Sun Jun 15 19:04:56 2008
@@ -18,7 +18,7 @@
 my($XSS_work_idx, $cpp_next_tmp);
 
 use vars qw($VERSION);
-$VERSION = '2.15';
+$VERSION = '2.19';
 
 use vars qw(%input_expr %output_expr $ProtoUsed @InitFileCode $FH $proto_re $Overload $errors $Fallback
 	    $cplusplus $hiertype $WantPrototypes $WantVersionChk $except $WantLineNumbers
@@ -76,7 +76,7 @@
   $proto_re = "[" . quotemeta('\$%&*@;[]') . "]" ;
   $Overload = 0;
   $errors = 0;
-  $Fallback = 'PL_sv_undef';
+  $Fallback = '&PL_sv_undef';
 
   # Most of the 1500 lines below uses these globals.  We'll have to
   # clean this up sometime, probably.  For now, we just pull them out
@@ -203,7 +203,7 @@
   $size = qr[,\s* (??{ $bal }) ]x; # Third arg (to setpvn)
 
   foreach my $key (keys %output_expr) {
-    use re 'eval';
+    BEGIN { $^H |= 0x00200000 }; # Equivalent to: use re 'eval', but hardcoded so we can compile re.xs
 
     my ($t, $with_size, $arg, $sarg) =
       ($output_expr{$key} =~
@@ -456,7 +456,7 @@
 					     \b ( \w+ | length\( \s*\w+\s* \) )
 					     \s* $ /x);
 	  next unless defined($pre) && length($pre);
-	  my $out_type;
+	  my $out_type = '';
 	  my $inout_var;
 	  if ($process_inout and s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\s+//) {
 	    my $type = $1;
@@ -565,7 +565,11 @@
 #XS(XS_${Full_func_name}); /* prototype to pass -Wmissing-prototypes */
 #XS(XS_${Full_func_name})
 #[[
+##ifdef dVAR
+#    dVAR; dXSARGS;
+##else
 #    dXSARGS;
+##endif
 EOF
     print Q(<<"EOF") if $ALIAS ;
 #    dXSI32;
@@ -589,12 +593,12 @@
     if ($ALIAS)
       { print Q(<<"EOF") if $cond }
 #    if ($cond)
-#       Perl_croak(aTHX_ "Usage: %s($report_args)", GvNAME(CvGV(cv)));
+#       Perl_croak(aTHX_ "Usage: %s(%s)", GvNAME(CvGV(cv)), "$report_args");
 EOF
     else
       { print Q(<<"EOF") if $cond }
 #    if ($cond)
-#	Perl_croak(aTHX_ "Usage: $pname($report_args)");
+#       Perl_croak(aTHX_ "Usage: %s(%s)", "$pname", "$report_args");
 EOF
     
      # cv doesn't seem to be used, in most cases unless we go in 
@@ -892,6 +896,7 @@
 #XS(XS_${Packid}_nil); /* prototype to pass -Wmissing-prototypes */
 #XS(XS_${Packid}_nil)
 #{
+#   dXSARGS;
 #   XSRETURN_EMPTY;
 #}
 #
@@ -919,7 +924,11 @@
 
   print Q(<<"EOF");
 #[[
+##ifdef dVAR
+#    dVAR; dXSARGS;
+##else
 #    dXSARGS;
+##endif
 EOF
 
   #-Wall: if there is no $Full_func_name there are no xsubs in this .xs
@@ -970,6 +979,13 @@
     @line = @BootCode;
     print_section();
     print "\n    /* End of Initialisation Section */\n\n" ;
+  }
+
+  if ($] >= 5.009) {
+    print <<'EOF';
+    if (PL_unitcheckav)
+         call_list(PL_scopestack_ix, PL_unitcheckav);
+EOF
   }
 
   print Q(<<"EOF");
@@ -1213,7 +1229,9 @@
   TrimWhitespace($in);
 
   foreach (split /[\s,]+/, $in) {
-    $Interfaces{$_} = $_;
+    my $name = $_;
+    $name =~ s/^$Prefix//;
+    $Interfaces{$name} = $_;
   }
   print Q(<<"EOF");
 #	XSFUNCTION = $interface_macro($ret_type,cv,XSANY.any_dptr);
@@ -1301,9 +1319,9 @@
   
   TrimWhitespace($_) ;
   my %map = (
-	     TRUE => "PL_sv_yes", 1 => "PL_sv_yes",
-	     FALSE => "PL_sv_no", 0 => "PL_sv_no",
-	     UNDEF => "PL_sv_undef",
+	     TRUE => "&PL_sv_yes", 1 => "&PL_sv_yes",
+	     FALSE => "&PL_sv_no", 0 => "&PL_sv_no",
+	     UNDEF => "&PL_sv_undef",
 	    ) ;
   
   # check for valid FALLBACK value
@@ -1438,6 +1456,7 @@
 		    Line            => \@line,
 		    LineNo          => \@line_no,
 		    Filename        => $filename,
+		    Filepathname    => $filepathname,
 		    Handle          => $FH,
 		   }) ;
 
@@ -1452,7 +1471,7 @@
 #
 EOF
 
-    $filename = $_ ;
+    $filepathname = $filename = $_ ;
 
     # Prime the pump by reading the first
     # non-blank line
@@ -1481,7 +1500,11 @@
     close $FH ;
 
     $FH         = $data->{Handle} ;
+    # $filename is the leafname, which for some reason isused for diagnostic
+    # messages, whereas $filepathname is the full pathname, and is used for
+    # #line directives.
     $filename   = $data->{Filename} ;
+    $filepathname = $data->{Filepathname} ;
     $lastline   = $data->{LastLine} ;
     $lastline_no = $data->{LastLineNo} ;
     @line       = @{ $data->{Line} } ;

Modified: branches/upstream/libextutils-parsexs-perl/current/t/XSTest.pm
URL: http://svn.debian.org/wsvn/branches/upstream/libextutils-parsexs-perl/current/t/XSTest.pm?rev=21674&op=diff
==============================================================================
--- branches/upstream/libextutils-parsexs-perl/current/t/XSTest.pm (original)
+++ branches/upstream/libextutils-parsexs-perl/current/t/XSTest.pm Sun Jun 15 19:04:56 2008
@@ -5,4 +5,4 @@
 $VERSION = '0.01';
 bootstrap XSTest $VERSION;
 
-1;
+1;

Modified: branches/upstream/libextutils-parsexs-perl/current/t/XSTest.xs
URL: http://svn.debian.org/wsvn/branches/upstream/libextutils-parsexs-perl/current/t/XSTest.xs?rev=21674&op=diff
==============================================================================
--- branches/upstream/libextutils-parsexs-perl/current/t/XSTest.xs (original)
+++ branches/upstream/libextutils-parsexs-perl/current/t/XSTest.xs Sun Jun 15 19:04:56 2008
@@ -28,7 +28,7 @@
 	RETVAL
 
 void
-xstest_something (class, some_thing)
+xstest_something (myclass, some_thing)
 	char * some_thing
     C_ARGS:
 	some_thing
@@ -38,28 +38,28 @@
 	char * some_thing
 
 void
-xstest_something3 (class, some_thing)
-	SV   * class
+xstest_something3 (myclass, some_thing)
+	SV   * myclass
 	char * some_thing
     PREINIT:
     	int i = 0;
     PPCODE:
     	/* it's up to us clear these warnings */
-	class = class;
+	myclass = myclass;
 	some_thing = some_thing;
 	i = i;
 	XSRETURN_UNDEF;
 	
 int
-consts (class)
-	SV * class
+consts (myclass)
+	SV * myclass
     ALIAS:
 	const_one = 1
 	const_two = 2
 	const_three = 3
     CODE:
     	/* it's up to us clear these warnings */
-    	class = class;
+    	myclass = myclass;
 	ix = ix;
     	RETVAL = 1;
     OUTPUT:




More information about the Pkg-perl-cvs-commits mailing list