This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make undef use ck_fun and OA_SCALARREF
[perl5.git] / perlapi.h
index 9a82b18..80425c3 100644 (file)
--- a/perlapi.h
+++ b/perlapi.h
@@ -28,11 +28,11 @@ START_EXTERN_C
 #undef PERLVARA
 #undef PERLVARI
 #undef PERLVARIC
-#define PERLVAR(v,t)   EXTERN_C t* Perl_##v##_ptr(pTHX);
-#define PERLVARA(v,n,t)        typedef t PL_##v##_t[n];                        \
-                       EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);
-#define PERLVARI(v,t,i)        PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v, const t)
+#define PERLVAR(p,v,t) EXTERN_C t* Perl_##p##v##_ptr(pTHX);
+#define PERLVARA(p,v,n,t)      typedef t PL_##v##_t[n];                \
+                       EXTERN_C PL_##v##_t* Perl_##p##v##_ptr(pTHX);
+#define PERLVARI(p,v,t,i)      PERLVAR(p,v,t)
+#define PERLVARIC(p,v,t,i) PERLVAR(p,v, const t)
 
 #include "perlvars.h"
 
@@ -62,10 +62,10 @@ EXTCONST void * const PL_force_link_funcs[] = {
 #undef PERLVARA
 #undef PERLVARI
 #undef PERLVARIC
-#define PERLVAR(v,t)   (void*)Perl_##v##_ptr,
-#define PERLVARA(v,n,t)        PERLVAR(v,t)
-#define PERLVARI(v,t,i)        PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v,t)
+#define PERLVAR(p,v,t)         (void*)Perl_##p##v##_ptr,
+#define PERLVARA(p,v,n,t)      PERLVAR(p,v,t)
+#define PERLVARI(p,v,t,i)      PERLVAR(p,v,t)
+#define PERLVARIC(p,v,t,i)     PERLVAR(p,v,t)
 
 /* In Tru64 (__DEC && __osf__) the cc option -std1 causes that one
  * cannot cast between void pointers and function pointers without
@@ -103,6 +103,8 @@ END_EXTERN_C
 #define PL_appctx              (*Perl_Gappctx_ptr(NULL))
 #undef  PL_check
 #define PL_check               (*Perl_Gcheck_ptr(NULL))
+#undef  PL_check_mutex
+#define PL_check_mutex         (*Perl_Gcheck_mutex_ptr(NULL))
 #undef  PL_csighandlerp
 #define PL_csighandlerp                (*Perl_Gcsighandlerp_ptr(NULL))
 #undef  PL_curinterp
@@ -141,10 +143,6 @@ END_EXTERN_C
 #define PL_perlio_mutex                (*Perl_Gperlio_mutex_ptr(NULL))
 #undef  PL_ppaddr
 #define PL_ppaddr              (*Perl_Gppaddr_ptr(NULL))
-#undef  PL_runops_dbg
-#define PL_runops_dbg          (*Perl_Grunops_dbg_ptr(NULL))
-#undef  PL_runops_std
-#define PL_runops_std          (*Perl_Grunops_std_ptr(NULL))
 #undef  PL_sh_path
 #define PL_sh_path             (*Perl_Gsh_path_ptr(NULL))
 #undef  PL_sig_defaulting