Move PL_global_struct_size, PL_interp_size{,_5_16_0} to perl.h
authorNicholas Clark <nick@ccl4.org>
Sun, 1 May 2011 21:12:15 +0000 (22:12 +0100)
committerNicholas Clark <nick@ccl4.org>
Sun, 12 Jun 2011 14:15:22 +0000 (16:15 +0200)
Make them const U16 - they should have been const from the start.

embedvar.h
globvar.sym
perl.h
perlapi.h
perlvars.h

index bd1d562..296a3b4 100644 (file)
 #define PL_Gdollarzero_mutex   (my_vars->Gdollarzero_mutex)
 #define PL_fold_locale         (my_vars->Gfold_locale)
 #define PL_Gfold_locale                (my_vars->Gfold_locale)
-#define PL_global_struct_size  (my_vars->Gglobal_struct_size)
-#define PL_Gglobal_struct_size (my_vars->Gglobal_struct_size)
 #define PL_hints_mutex         (my_vars->Ghints_mutex)
 #define PL_Ghints_mutex                (my_vars->Ghints_mutex)
-#define PL_interp_size         (my_vars->Ginterp_size)
-#define PL_Ginterp_size                (my_vars->Ginterp_size)
-#define PL_interp_size_5_16_0  (my_vars->Ginterp_size_5_16_0)
-#define PL_Ginterp_size_5_16_0 (my_vars->Ginterp_size_5_16_0)
 #define PL_keyword_plugin      (my_vars->Gkeyword_plugin)
 #define PL_Gkeyword_plugin     (my_vars->Gkeyword_plugin)
 #define PL_malloc_mutex                (my_vars->Gmalloc_mutex)
 #define PL_Gdo_undump          PL_do_undump
 #define PL_Gdollarzero_mutex   PL_dollarzero_mutex
 #define PL_Gfold_locale                PL_fold_locale
-#define PL_Gglobal_struct_size PL_global_struct_size
 #define PL_Ghints_mutex                PL_hints_mutex
-#define PL_Ginterp_size                PL_interp_size
-#define PL_Ginterp_size_5_16_0 PL_interp_size_5_16_0
 #define PL_Gkeyword_plugin     PL_keyword_plugin
 #define PL_Gmalloc_mutex       PL_malloc_mutex
 #define PL_Gmmap_page_size     PL_mmap_page_size
index 9bfdb23..81472f6 100644 (file)
@@ -14,7 +14,10 @@ fold
 fold_latin1
 fold_locale
 freq
+global_struct_size
 hexdigit
+interp_size
+interp_size_5_16_0
 keyword_plugin
 magic_data
 magic_vtables
diff --git a/perl.h b/perl.h
index 0383428..fa86c7f 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -4916,6 +4916,20 @@ struct interpreter {
 #  include "intrpvar.h"
 };
 
+EXTCONST U16 PL_interp_size
+  INIT(sizeof(struct interpreter));
+
+#  define PERL_INTERPRETER_SIZE_UPTO_MEMBER(member)                    \
+    STRUCT_OFFSET(struct interpreter, member) +                                \
+    sizeof(((struct interpreter*)0)->member)
+
+/* This will be useful for subsequent releases, because this has to be the
+   same in your libperl as in main(), else you have a mismatch and must abort.
+*/
+EXTCONST U16 PL_interp_size_5_16_0
+  INIT(PERL_INTERPRETER_SIZE_UPTO_MEMBER(PERL_LAST_5_16_0_INTERP_MEMBER));
+
+
 #  ifdef PERL_GLOBAL_STRUCT
 /* MULTIPLICITY is automatically defined when PERL_GLOBAL_STRUCT is defined,
    hence it's safe and sane to nest this within #ifdef MULTIPLICITY  */
@@ -4924,6 +4938,9 @@ struct perl_vars {
 #    include "perlvars.h"
 };
 
+EXTCONST U16 PL_global_struct_size
+  INIT(sizeof(struct perl_vars));
+
 #    ifdef PERL_CORE
 #      ifndef PERL_GLOBAL_STRUCT_PRIVATE
 EXT struct perl_vars PL_Vars;
index eaddb4e..9a82b18 100644 (file)
--- a/perlapi.h
+++ b/perlapi.h
@@ -113,14 +113,8 @@ END_EXTERN_C
 #define PL_dollarzero_mutex    (*Perl_Gdollarzero_mutex_ptr(NULL))
 #undef  PL_fold_locale
 #define PL_fold_locale         (*Perl_Gfold_locale_ptr(NULL))
-#undef  PL_global_struct_size
-#define PL_global_struct_size  (*Perl_Gglobal_struct_size_ptr(NULL))
 #undef  PL_hints_mutex
 #define PL_hints_mutex         (*Perl_Ghints_mutex_ptr(NULL))
-#undef  PL_interp_size
-#define PL_interp_size         (*Perl_Ginterp_size_ptr(NULL))
-#undef  PL_interp_size_5_16_0
-#define PL_interp_size_5_16_0  (*Perl_Ginterp_size_5_16_0_ptr(NULL))
 #undef  PL_keyword_plugin
 #define PL_keyword_plugin      (*Perl_Gkeyword_plugin_ptr(NULL))
 #undef  PL_malloc_mutex
index bad7a16..bf298c0 100644 (file)
@@ -145,24 +145,6 @@ PERLVARI(Gveto_cleanup,    int, FALSE)     /* exit without cleanup */
 PERLVARI(Grunops_std,  runops_proc_t,  Perl_runops_standard)
 PERLVARI(Grunops_dbg,  runops_proc_t,  Perl_runops_debug)
 
-#if defined(MULTIPLICITY)
-#  define PERL_INTERPRETER_SIZE_UPTO_MEMBER(member)                    \
-    STRUCT_OFFSET(struct interpreter, member) +                                \
-    sizeof(((struct interpreter*)0)->member)
-
-/* These might be useful.  */
-PERLVARI(Ginterp_size, U16,    sizeof(struct interpreter))
-#if defined(PERL_GLOBAL_STRUCT)
-PERLVARI(Gglobal_struct_size,  U16,    sizeof(struct perl_vars))
-#endif
-
-/* This will be useful for subsequent releases, because this has to be the
-   same in your libperl as in main(), else you have a mismatch and must abort.
-*/
-PERLVARI(Ginterp_size_5_16_0, U16,
-        PERL_INTERPRETER_SIZE_UPTO_MEMBER(PERL_LAST_5_16_0_INTERP_MEMBER))
-#endif
-
 /*
 =for apidoc AmUx|Perl_keyword_plugin_t|PL_keyword_plugin