This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
PPPort_pm.PL: Add an item for unknown min supported version
authorKarl Williamson <khw@cpan.org>
Thu, 8 Aug 2019 19:51:33 +0000 (13:51 -0600)
committerNicolas R <atoomic@cpan.org>
Fri, 27 Sep 2019 22:51:27 +0000 (16:51 -0600)
The pod for this has sections of what elements are first supported when.
Unfortunately there are some that we do not have that information.

The cure for this is for someone to contribute pod for that element to
the perl core, but in the meantime, this lists those we couldn't figure
out.

It uses ppport.fnc to figure out many of the ones it otherwise couldn't.
And it is possible to enhance this to figure out more.  But just
documenting them removes them from the list.  And they should be
documented anyway.

(cherry picked from commit 5b548c97ec59bfb65f3caefea9fcf50cf8cd6d49)
Signed-off-by: Nicolas R <atoomic@cpan.org>
dist/Devel-PPPort/PPPort_pm.PL
dist/Devel-PPPort/parts/apicheck.pl

index e0e9ddf..a4e3afa 100644 (file)
@@ -148,6 +148,8 @@ for (@provided) {
 
 # At this point @perl_api is the list of things we provide that weren't found
 # in the .fnc files.
+my @prototype_unknown = @perl_api;
+
 # Add in the .fnc file definitions.
 push @perl_api, keys %embed;
 @perl_api = sort dictionary_order @perl_api;
@@ -228,6 +230,14 @@ for (@todo_list) {
   push @todo, $todo;
 }
 
+if (@prototype_unknown) {
+    my $todo = "=item Backported version unknown\n\n";
+    for (sort dictionary_order @prototype_unknown) {
+        $todo .= " $_  $undocumented\n";
+    }
+    push @todo, $todo;
+}
+
 $data =~ s{^__UNSUPPORTED_API__(\s*?)^}
           {join "\n", @todo}gem;
 
index 68b6a0a..74e4720 100644 (file)
@@ -367,6 +367,9 @@ HEAD
   # If there is a '#if' associated with this, add that
   $f->{'cond'} and print OUT "#if $f->{'cond'}\n";
 
+  # If only to be tested when ppport.h is enabled
+  $f->{'ppport_fnc'} and print OUT "#ifndef DPPP_APICHECK_NO_PPPORT_H\n";
+
   print OUT <<END;
 void _DPPP_test_$f->{'name'} (void)
 {
@@ -388,6 +391,7 @@ $stack
 }
 END
 
+  $f->{'ppport_fnc'} and print OUT "#endif\n";
   $f->{'cond'} and print OUT "#endif\n";
   exists $todo{$f->{'name'}} and print OUT "#endif\n";