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 38a17f5..0bc3862 100644 (file)
@@ -422,157 +422,18 @@ unless ($define{'PERL_IMPLICIT_CONTEXT'}) {
                         );
 }
 if ($define{'NO_MATHOMS'}) {
-    ++$skip{$_} foreach qw(
-                   ASCII_TO_NEED
-                   NATIVE_TO_NEED
-                   Perl_custom_op_desc
-                   Perl_custom_op_name
-                   Perl_do_aexec
-                   Perl_do_binmode
-                   Perl_do_open
-                   Perl_do_open9
-                   Perl_fprintf_nocontext
-                   Perl_gv_AVadd
-                   Perl_gv_HVadd
-                   Perl_gv_IOadd
-                   Perl_gv_SVadd
-                   Perl_gv_efullname
-                   Perl_gv_efullname3
-                   Perl_gv_fetchmethod
-                   Perl_gv_fullname
-                   Perl_gv_fullname3
-                   Perl_hv_delete
-                   Perl_hv_delete_ent
-                   Perl_hv_exists
-                   Perl_hv_exists_ent
-                   Perl_hv_fetch
-                   Perl_hv_fetch_ent
-                   Perl_hv_iternext
-                   Perl_hv_magic
-                   Perl_hv_store
-                   Perl_hv_store_ent
-                   Perl_hv_store_flags
-                   Perl_init_i18nl14n
-                   Perl_isALNUM_lazy
-                   Perl_isIDFIRST_lazy
-                   Perl_is_uni_alnum
-                   Perl_is_uni_alnum_lc
-                   Perl_is_uni_alnumc
-                   Perl_is_uni_alnumc_lc
-                   Perl_is_uni_alpha
-                   Perl_is_uni_alpha_lc
-                   Perl_is_uni_ascii
-                   Perl_is_uni_ascii_lc
-                   Perl_is_uni_blank
-                   Perl_is_uni_blank_lc
-                   Perl_is_uni_cntrl
-                   Perl_is_uni_cntrl_lc
-                   Perl_is_uni_digit
-                   Perl_is_uni_digit_lc
-                   Perl_is_uni_graph
-                   Perl_is_uni_graph_lc
-                   Perl_is_uni_idfirst
-                   Perl_is_uni_idfirst_lc
-                   Perl_is_uni_lower
-                   Perl_is_uni_lower_lc
-                   Perl_is_uni_print
-                   Perl_is_uni_print_lc
-                   Perl_is_uni_punct
-                   Perl_is_uni_punct_lc
-                   Perl_is_uni_space
-                   Perl_is_uni_space_lc
-                   Perl_is_uni_upper
-                   Perl_is_uni_upper_lc
-                   Perl_is_uni_xdigit
-                   Perl_is_uni_xdigit_lc
-                   Perl_is_utf8_alnum
-                   Perl_is_utf8_alnumc
-                   Perl_is_utf8_alpha
-                   Perl_is_utf8_ascii
-                   Perl_is_utf8_blank
-                   Perl_is_utf8_char
-                   Perl_is_utf8_cntrl
-                   Perl_is_utf8_digit
-                   Perl_is_utf8_graph
-                   Perl_is_utf8_idcont
-                   Perl_is_utf8_idfirst
-                   Perl_is_utf8_lower
-                   Perl_is_utf8_mark
-                   Perl_is_utf8_perl_space
-                   Perl_is_utf8_perl_word
-                   Perl_is_utf8_posix_digit
-                   Perl_is_utf8_print
-                   Perl_is_utf8_punct
-                   Perl_is_utf8_space
-                   Perl_is_utf8_string_loc
-                   Perl_is_utf8_upper
-                   Perl_is_utf8_xdigit
-                   Perl_is_utf8_xidcont
-                   Perl_is_utf8_xidfirst
-                   Perl_my_lstat
-                   Perl_my_stat
-                   Perl_newAV
-                   Perl_newHV
-                   Perl_newIO
-                   Perl_newSUB
-                   Perl_pack_cat
-                   Perl_pad_compname_type
-                   Perl_printf_nocontext
-                   Perl_ref
-                   Perl_save_freeop
-                   Perl_save_freepv
-                   Perl_save_freesv
-                   Perl_save_iv
-                   Perl_save_list
-                   Perl_save_long
-                   Perl_save_mortalizesv
-                   Perl_save_nogv
-                   Perl_save_op
-                   Perl_save_re_context
-                   Perl_sv_2iv
-                   Perl_sv_2pv
-                   Perl_sv_2pv_nolen
-                   Perl_sv_2pvbyte_nolen
-                   Perl_sv_2pvutf8_nolen
-                   Perl_sv_2uv
-                   Perl_sv_catpvn
-                   Perl_sv_catpvn_mg
-                   Perl_sv_catsv
-                   Perl_sv_catsv_mg
-                   Perl_sv_force_normal
-                   Perl_sv_insert
-                   Perl_sv_iv
-                   Perl_sv_mortalcopy
-                   Perl_sv_nolocking
-                   Perl_sv_nounlocking
-                   Perl_sv_nv
-                   Perl_sv_pv
-                   Perl_sv_pvbyte
-                   Perl_sv_pvbyten
-                   Perl_sv_pvn
-                   Perl_sv_pvn_force
-                   Perl_sv_pvn_nomg
-                   Perl_sv_pvutf8
-                   Perl_sv_pvutf8n
-                   Perl_sv_setsv
-                   Perl_sv_taint
-                   Perl_sv_unref
-                   Perl_sv_usepvn
-                   Perl_sv_usepvn_mg
-                   Perl_sv_utf8_upgrade
-                   Perl_sv_uv
-                   Perl_to_uni_lower_lc
-                   Perl_to_uni_title_lc
-                   Perl_to_uni_upper_lc
-                   Perl_to_utf8_fold
-                   Perl_to_utf8_lower
-                   Perl_to_utf8_title
-                   Perl_to_utf8_upper
-                   Perl_unpack_str
-                   Perl_utf8_to_uvchr
-                   Perl_utf8_to_uvuni
-                   Perl_valid_utf8_to_uvuni
-                        );
+    # 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'}) {