summaryrefslogtreecommitdiff
path: root/mg_vtable.h
diff options
context:
space:
mode:
Diffstat (limited to 'mg_vtable.h')
-rw-r--r--mg_vtable.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/mg_vtable.h b/mg_vtable.h
index 52937d7460..516d2c949e 100644
--- a/mg_vtable.h
+++ b/mg_vtable.h
@@ -40,6 +40,43 @@ enum { /* pass one of these to get_vtbl */
magic_vtable_max
};
+#ifdef DOINIT
+EXTCONST char *PL_magic_vtable_names[magic_vtable_max] = {
+ "sv",
+ "env",
+ "envelem",
+ "sigelem",
+ "pack",
+ "packelem",
+ "dbline",
+ "isa",
+ "isaelem",
+ "arylen",
+ "arylen_p",
+ "mglob",
+ "nkeys",
+ "taint",
+ "substr",
+ "vec",
+ "pos",
+ "uvar",
+ "defelem",
+ "regexp",
+ "regdata",
+ "regdatum",
+ "amagic",
+ "amagicelem",
+ "backref",
+ "ovrld",
+ "utf8",
+ "collxfrm",
+ "hintselem",
+ "hints"
+};
+#else
+EXTCONST char *PL_magic_vtable_names[magic_vtable_max];
+#endif
+
/* These all need to be 0, not NULL, as NULL can be (void*)0, which is a
* pointer to data, whereas we're assigning pointers to functions, which are
* not the same beast. ANSI doesn't allow the assignment from one to the other.