2a1a11
From 4f8996e1ea5a5f24b1d5b4462f56a917daa67a47 Mon Sep 17 00:00:00 2001
2a1a11
From: Jitka Plesnikova <jplesnik@redhat.com>
2a1a11
Date: Fri, 26 Apr 2019 15:59:36 +0200
2a1a11
Subject: [PATCH] Upgrade to 3.40
2a1a11
2a1a11
The generated prototype (with PROTOTYPES: ENABLE) would include
2a1a11
OUTLIST parameters, but these aren't arguments to the perl function.
2a1a11
2a1a11
---
2a1a11
 lib/ExtUtils/ParseXS.pm            | 4 ++--
2a1a11
 lib/ExtUtils/ParseXS/Constants.pm  | 2 +-
2a1a11
 lib/ExtUtils/ParseXS/CountLines.pm | 2 +-
2a1a11
 lib/ExtUtils/ParseXS/Eval.pm       | 2 +-
2a1a11
 lib/ExtUtils/ParseXS/Utilities.pm  | 2 +-
2a1a11
 t/002-more.t                       | 7 +++++--
2a1a11
 6 files changed, 11 insertions(+), 8 deletions(-)
2a1a11
2a1a11
diff --git a/lib/ExtUtils/ParseXS.pm b/lib/ExtUtils/ParseXS.pm
2a1a11
index e1f0940..fba7f4d 100644
2a1a11
--- a/lib/ExtUtils/ParseXS.pm
2a1a11
+++ b/lib/ExtUtils/ParseXS.pm
2a1a11
@@ -11,7 +11,7 @@ use Symbol;
2a1a11
 
2a1a11
 our $VERSION;
2a1a11
 BEGIN {
2a1a11
-  $VERSION = '3.39';
2a1a11
+  $VERSION = '3.40';
2a1a11
   require ExtUtils::ParseXS::Constants; ExtUtils::ParseXS::Constants->VERSION($VERSION);
2a1a11
   require ExtUtils::ParseXS::CountLines; ExtUtils::ParseXS::CountLines->VERSION($VERSION);
2a1a11
   require ExtUtils::ParseXS::Utilities; ExtUtils::ParseXS::Utilities->VERSION($VERSION);
2a1a11
@@ -467,7 +467,7 @@ EOM
2a1a11
         $self->{defaults}->{$args[$i]} = $2;
2a1a11
         $self->{defaults}->{$args[$i]} =~ s/"/\\"/g;
2a1a11
       }
2a1a11
-      $self->{proto_arg}->[$i+1] = '$';
2a1a11
+      $self->{proto_arg}->[$i+1] = '$' unless $only_C_inlist_ref->{$args[$i]};
2a1a11
     }
2a1a11
     my $min_args = $num_args - $extra_args;
2a1a11
     $report_args =~ s/"/\\"/g;
2a1a11
diff --git a/lib/ExtUtils/ParseXS/Constants.pm b/lib/ExtUtils/ParseXS/Constants.pm
2a1a11
index 45b5674..2c392e3 100644
2a1a11
--- a/lib/ExtUtils/ParseXS/Constants.pm
2a1a11
+++ b/lib/ExtUtils/ParseXS/Constants.pm
2a1a11
@@ -3,7 +3,7 @@ use strict;
2a1a11
 use warnings;
2a1a11
 use Symbol;
2a1a11
 
2a1a11
-our $VERSION = '3.39';
2a1a11
+our $VERSION = '3.40';
2a1a11
 
2a1a11
 =head1 NAME
2a1a11
 
2a1a11
diff --git a/lib/ExtUtils/ParseXS/CountLines.pm b/lib/ExtUtils/ParseXS/CountLines.pm
2a1a11
index 5b48449..a9258f9 100644
2a1a11
--- a/lib/ExtUtils/ParseXS/CountLines.pm
2a1a11
+++ b/lib/ExtUtils/ParseXS/CountLines.pm
2a1a11
@@ -1,7 +1,7 @@
2a1a11
 package ExtUtils::ParseXS::CountLines;
2a1a11
 use strict;
2a1a11
 
2a1a11
-our $VERSION = '3.39';
2a1a11
+our $VERSION = '3.40';
2a1a11
 
2a1a11
 our $SECTION_END_MARKER;
2a1a11
 
2a1a11
diff --git a/lib/ExtUtils/ParseXS/Eval.pm b/lib/ExtUtils/ParseXS/Eval.pm
2a1a11
index 9eba5e5..840bac7 100644
2a1a11
--- a/lib/ExtUtils/ParseXS/Eval.pm
2a1a11
+++ b/lib/ExtUtils/ParseXS/Eval.pm
2a1a11
@@ -2,7 +2,7 @@ package ExtUtils::ParseXS::Eval;
2a1a11
 use strict;
2a1a11
 use warnings;
2a1a11
 
2a1a11
-our $VERSION = '3.39';
2a1a11
+our $VERSION = '3.40';
2a1a11
 
2a1a11
 =head1 NAME
2a1a11
 
2a1a11
diff --git a/lib/ExtUtils/ParseXS/Utilities.pm b/lib/ExtUtils/ParseXS/Utilities.pm
2a1a11
index ae25b33..58f3856 100644
2a1a11
--- a/lib/ExtUtils/ParseXS/Utilities.pm
2a1a11
+++ b/lib/ExtUtils/ParseXS/Utilities.pm
2a1a11
@@ -5,7 +5,7 @@ use Exporter;
2a1a11
 use File::Spec;
2a1a11
 use ExtUtils::ParseXS::Constants ();
2a1a11
 
2a1a11
-our $VERSION = '3.39';
2a1a11
+our $VERSION = '3.40';
2a1a11
 
2a1a11
 our (@ISA, @EXPORT_OK);
2a1a11
 @ISA = qw(Exporter);
2a1a11
diff --git a/t/002-more.t b/t/002-more.t
2a1a11
index 4aaa3ab..e982290 100644
2a1a11
--- a/t/002-more.t
2a1a11
+++ b/t/002-more.t
2a1a11
@@ -9,7 +9,7 @@ use ExtUtils::CBuilder;
2a1a11
 use attributes;
2a1a11
 use overload;
2a1a11
 
2a1a11
-plan tests => 29;
2a1a11
+plan tests => 30;
2a1a11
 
2a1a11
 my ($source_file, $obj_file, $lib_file);
2a1a11
 
2a1a11
@@ -48,7 +48,7 @@ SKIP: {
2a1a11
 }
2a1a11
 
2a1a11
 SKIP: {
2a1a11
-  skip "no dynamic loading", 25
2a1a11
+  skip "no dynamic loading", 26
2a1a11
     if !$b->have_compiler || !$Config{usedl};
2a1a11
   my $module = 'XSMore';
2a1a11
   $lib_file = $b->link( objects => $obj_file, module_name => $module );
2a1a11
@@ -92,6 +92,9 @@ SKIP: {
2a1a11
 
2a1a11
   is_deeply [XSMore::outlist()], [ord('a'), ord('b')], 'the OUTLIST keyword';
2a1a11
 
2a1a11
+  # eval so compile-time sees any prototype
2a1a11
+  is_deeply [ eval 'XSMore::outlist()' ], [ord('a'), ord('b')], 'OUTLIST prototypes';
2a1a11
+
2a1a11
   is XSMore::len("foo"), 3, 'the length keyword';
2a1a11
 
2a1a11
   is XSMore::sum(5, 9), 14, 'the INCLUDE_COMMAND directive';
2a1a11
-- 
2a1a11
2.20.1
2a1a11