This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #123502] isnan identifier can't be used as a var
[perl5.git] / makedef.pl
index 83f0c91..0bc3862 100644 (file)
@@ -253,6 +253,7 @@ unless ($define{'DEBUGGING'}) {
                    Perl_debstackptrs
                    Perl_pad_sv
                    Perl_pad_setsv
+                   Perl_set_padlist
                    Perl_hv_assert
                    PL_watchaddr
                    PL_watchok
@@ -420,6 +421,20 @@ unless ($define{'PERL_IMPLICIT_CONTEXT'}) {
                    Perl_my_cxt_index
                         );
 }
+if ($define{'NO_MATHOMS'}) {
+    # win32 builds happen in the win32/ subdirectory, but vms builds happen
+    # at the top level, so we need to look in two candidate locations for
+    # the mathoms.c file.
+    my ($file) = grep { -f } qw( mathoms.c ../mathoms.c )
+        or die "No mathoms.c file found in . or ..\n";
+    open my $mathoms, '<', $file
+        or die "Cannot open $file: $!\n";
+    while (<$mathoms>) {
+        ++$skip{$1} if /\A ( NATIVE_TO_NEED
+                           | ASCII_TO_NEED
+                           | Perl_\w+ ) \s* \( /axms;
+    }
+}
 
 unless ($define{'PERL_NEED_APPCTX'}) {
     ++$skip{PL_appctx};
@@ -619,6 +634,8 @@ my @layer_syms = qw(
                    Perl_PerlIO_get_cnt
                    Perl_PerlIO_get_ptr
                    Perl_PerlIO_read
+                   Perl_PerlIO_restore_errno
+                   Perl_PerlIO_save_errno
                    Perl_PerlIO_seek
                    Perl_PerlIO_set_cnt
                    Perl_PerlIO_set_ptrcnt
@@ -662,6 +679,11 @@ if ($define{'USE_PERLIO'}) {
        # Remaining remnants that _may_ be functions are handled below.
 }
 
+unless ($define{'USE_QUADMATH'}) {
+  ++$skip{Perl_quadmath_format_needed};
+  ++$skip{Perl_quadmath_format_single};
+}
+
 ###############################################################################
 
 # At this point all skip lists should be completed, as we are about to test
@@ -692,12 +714,9 @@ if ($define{'USE_PERLIO'}) {
 foreach (@syms) {
     my $syms = $ARGS{TARG_DIR} . $_;
     open my $global, '<', $syms or die "failed to open $syms: $!\n";
-    # Functions already have a Perl_ prefix
-    # Variables need a PL_ prefix
-    my $prefix = $syms =~ /var\.sym$/i ? 'PL_' : '';
     while (<$global>) {
        next unless /^([A-Za-z].*)/;
-       my $symbol = "$prefix$1";
+       my $symbol = "$1";
        ++$export{$symbol} unless exists $skip{$symbol};
     }
 }