* perlapi.h
*
* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, by Larry Wall and others
+ * 2000, 2001, 2002, 2003, 2004, 2005, 2006, by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
#define PERLVARIC(v,t,i) PERLVAR(v,t)
#define PERLVARISC(v,i) PERLVAR(v,char)
+/* In Tru64 (__DEC && __osf__) the cc option -std1 causes that one
+ * cannot cast between void pointers and function pointers without
+ * info level warnings. The PL_force_link_funcs[] would cause a few
+ * hundred of those warnings. In code one can circumnavigate this by using
+ * unions that overlay the different pointers, but in declarations one
+ * cannot use this trick. Therefore we just disable the warning here
+ * for the duration of the PL_force_link_funcs[] declaration. */
+
+#if defined(__DECC) && defined(__osf__)
+#pragma message save
+#pragma message disable (nonstandcast)
+#endif
+
#include "thrdvar.h"
#include "intrpvar.h"
#include "perlvars.h"
+#if defined(__DECC) && defined(__osf__)
+#pragma message restore
+#endif
+
#undef PERLVAR
#undef PERLVARA
#undef PERLVARI
#define PL_beginav_save (*Perl_Ibeginav_save_ptr(aTHX))
#undef PL_bitcount
#define PL_bitcount (*Perl_Ibitcount_ptr(aTHX))
+#undef PL_body_arenaroots
+#define PL_body_arenaroots (*Perl_Ibody_arenaroots_ptr(aTHX))
+#undef PL_body_roots
+#define PL_body_roots (*Perl_Ibody_roots_ptr(aTHX))
#undef PL_bufend
#define PL_bufend (*Perl_Ibufend_ptr(aTHX))
#undef PL_bufptr
#define PL_doswitches (*Perl_Idoswitches_ptr(aTHX))
#undef PL_dowarn
#define PL_dowarn (*Perl_Idowarn_ptr(aTHX))
+#undef PL_dumper_fd
+#define PL_dumper_fd (*Perl_Idumper_fd_ptr(aTHX))
#undef PL_e_script
#define PL_e_script (*Perl_Ie_script_ptr(aTHX))
#undef PL_egid
#define PL_hash_seed (*Perl_Ihash_seed_ptr(aTHX))
#undef PL_hash_seed_set
#define PL_hash_seed_set (*Perl_Ihash_seed_set_ptr(aTHX))
-#undef PL_he_arenaroot
-#define PL_he_arenaroot (*Perl_Ihe_arenaroot_ptr(aTHX))
-#undef PL_he_root
-#define PL_he_root (*Perl_Ihe_root_ptr(aTHX))
#undef PL_hintgv
#define PL_hintgv (*Perl_Ihintgv_ptr(aTHX))
#undef PL_hints
#define PL_mess_sv (*Perl_Imess_sv_ptr(aTHX))
#undef PL_min_intro_pending
#define PL_min_intro_pending (*Perl_Imin_intro_pending_ptr(aTHX))
+#undef PL_minus_E
+#define PL_minus_E (*Perl_Iminus_E_ptr(aTHX))
#undef PL_minus_F
#define PL_minus_F (*Perl_Iminus_F_ptr(aTHX))
#undef PL_minus_a
#define PL_multi_start (*Perl_Imulti_start_ptr(aTHX))
#undef PL_multiline
#define PL_multiline (*Perl_Imultiline_ptr(aTHX))
+#undef PL_my_cxt_list
+#define PL_my_cxt_list (*Perl_Imy_cxt_list_ptr(aTHX))
+#undef PL_my_cxt_size
+#define PL_my_cxt_size (*Perl_Imy_cxt_size_ptr(aTHX))
#undef PL_nexttoke
#define PL_nexttoke (*Perl_Inexttoke_ptr(aTHX))
#undef PL_nexttype
#define PL_numeric_radix_sv (*Perl_Inumeric_radix_sv_ptr(aTHX))
#undef PL_numeric_standard
#define PL_numeric_standard (*Perl_Inumeric_standard_ptr(aTHX))
-#undef PL_ofmt
-#define PL_ofmt (*Perl_Iofmt_ptr(aTHX))
#undef PL_oldbufptr
#define PL_oldbufptr (*Perl_Ioldbufptr_ptr(aTHX))
#undef PL_oldname
#define PL_psig_pend (*Perl_Ipsig_pend_ptr(aTHX))
#undef PL_psig_ptr
#define PL_psig_ptr (*Perl_Ipsig_ptr_ptr(aTHX))
-#undef PL_pte_arenaroot
-#define PL_pte_arenaroot (*Perl_Ipte_arenaroot_ptr(aTHX))
-#undef PL_pte_root
-#define PL_pte_root (*Perl_Ipte_root_ptr(aTHX))
#undef PL_ptr_table
#define PL_ptr_table (*Perl_Iptr_table_ptr(aTHX))
#undef PL_reentrant_buffer
#define PL_savebegin (*Perl_Isavebegin_ptr(aTHX))
#undef PL_sawampersand
#define PL_sawampersand (*Perl_Isawampersand_ptr(aTHX))
-#undef PL_sh_path_compat
-#define PL_sh_path_compat (*Perl_Ish_path_compat_ptr(aTHX))
#undef PL_sharehook
#define PL_sharehook (*Perl_Isharehook_ptr(aTHX))
#undef PL_sig_pending
#define PL_stashcache (*Perl_Istashcache_ptr(aTHX))
#undef PL_statusvalue
#define PL_statusvalue (*Perl_Istatusvalue_ptr(aTHX))
+#undef PL_statusvalue_posix
+#define PL_statusvalue_posix (*Perl_Istatusvalue_posix_ptr(aTHX))
#undef PL_statusvalue_vms
#define PL_statusvalue_vms (*Perl_Istatusvalue_vms_ptr(aTHX))
#undef PL_stderrgv
#define PL_warnhook (*Perl_Iwarnhook_ptr(aTHX))
#undef PL_widesyscalls
#define PL_widesyscalls (*Perl_Iwidesyscalls_ptr(aTHX))
-#undef PL_xiv_arenaroot
-#define PL_xiv_arenaroot (*Perl_Ixiv_arenaroot_ptr(aTHX))
-#undef PL_xiv_root
-#define PL_xiv_root (*Perl_Ixiv_root_ptr(aTHX))
-#undef PL_xnv_arenaroot
-#define PL_xnv_arenaroot (*Perl_Ixnv_arenaroot_ptr(aTHX))
-#undef PL_xnv_root
-#define PL_xnv_root (*Perl_Ixnv_root_ptr(aTHX))
-#undef PL_xpv_arenaroot
-#define PL_xpv_arenaroot (*Perl_Ixpv_arenaroot_ptr(aTHX))
-#undef PL_xpv_root
-#define PL_xpv_root (*Perl_Ixpv_root_ptr(aTHX))
-#undef PL_xpvav_arenaroot
-#define PL_xpvav_arenaroot (*Perl_Ixpvav_arenaroot_ptr(aTHX))
-#undef PL_xpvav_root
-#define PL_xpvav_root (*Perl_Ixpvav_root_ptr(aTHX))
-#undef PL_xpvbm_arenaroot
-#define PL_xpvbm_arenaroot (*Perl_Ixpvbm_arenaroot_ptr(aTHX))
-#undef PL_xpvbm_root
-#define PL_xpvbm_root (*Perl_Ixpvbm_root_ptr(aTHX))
-#undef PL_xpvcv_arenaroot
-#define PL_xpvcv_arenaroot (*Perl_Ixpvcv_arenaroot_ptr(aTHX))
-#undef PL_xpvcv_root
-#define PL_xpvcv_root (*Perl_Ixpvcv_root_ptr(aTHX))
-#undef PL_xpvgv_arenaroot
-#define PL_xpvgv_arenaroot (*Perl_Ixpvgv_arenaroot_ptr(aTHX))
-#undef PL_xpvgv_root
-#define PL_xpvgv_root (*Perl_Ixpvgv_root_ptr(aTHX))
-#undef PL_xpvhv_arenaroot
-#define PL_xpvhv_arenaroot (*Perl_Ixpvhv_arenaroot_ptr(aTHX))
-#undef PL_xpvhv_root
-#define PL_xpvhv_root (*Perl_Ixpvhv_root_ptr(aTHX))
-#undef PL_xpviv_arenaroot
-#define PL_xpviv_arenaroot (*Perl_Ixpviv_arenaroot_ptr(aTHX))
-#undef PL_xpviv_root
-#define PL_xpviv_root (*Perl_Ixpviv_root_ptr(aTHX))
-#undef PL_xpvlv_arenaroot
-#define PL_xpvlv_arenaroot (*Perl_Ixpvlv_arenaroot_ptr(aTHX))
-#undef PL_xpvlv_root
-#define PL_xpvlv_root (*Perl_Ixpvlv_root_ptr(aTHX))
-#undef PL_xpvmg_arenaroot
-#define PL_xpvmg_arenaroot (*Perl_Ixpvmg_arenaroot_ptr(aTHX))
-#undef PL_xpvmg_root
-#define PL_xpvmg_root (*Perl_Ixpvmg_root_ptr(aTHX))
-#undef PL_xpvnv_arenaroot
-#define PL_xpvnv_arenaroot (*Perl_Ixpvnv_arenaroot_ptr(aTHX))
-#undef PL_xpvnv_root
-#define PL_xpvnv_root (*Perl_Ixpvnv_root_ptr(aTHX))
-#undef PL_xrv_arenaroot
-#define PL_xrv_arenaroot (*Perl_Ixrv_arenaroot_ptr(aTHX))
-#undef PL_xrv_root
-#define PL_xrv_root (*Perl_Ixrv_root_ptr(aTHX))
#undef PL_yycharp
#define PL_yycharp (*Perl_Iyycharp_ptr(aTHX))
#undef PL_yylvalp
#define PL_secondgv (*Perl_Tsecondgv_ptr(aTHX))
#undef PL_sortcop
#define PL_sortcop (*Perl_Tsortcop_ptr(aTHX))
-#undef PL_sortcxix
-#define PL_sortcxix (*Perl_Tsortcxix_ptr(aTHX))
#undef PL_sortstash
#define PL_sortstash (*Perl_Tsortstash_ptr(aTHX))
#undef PL_stack_base
#define PL_malloc_mutex (*Perl_Gmalloc_mutex_ptr(NULL))
#undef PL_mmap_page_size
#define PL_mmap_page_size (*Perl_Gmmap_page_size_ptr(NULL))
+#undef PL_my_ctx_mutex
+#define PL_my_ctx_mutex (*Perl_Gmy_ctx_mutex_ptr(NULL))
+#undef PL_my_cxt_index
+#define PL_my_cxt_index (*Perl_Gmy_cxt_index_ptr(NULL))
#undef PL_op_mutex
#define PL_op_mutex (*Perl_Gop_mutex_ptr(NULL))
#undef PL_op_seq