This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add lvref magic type
[perl5.git] / mg_raw.h
CommitLineData
6f83ef0e
NC
1/* -*- buffer-read-only: t -*-
2 *
3 * mg_raw.h
4 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
5 * This file is built by regen/mg_vtable.pl.
6 * Any changes made here will be lost!
7 */
8
82ff486e 9 { '\0', "want_vtbl_sv | PERL_MAGIC_READONLY_ACCEPTABLE",
6f83ef0e 10 "/* sv '\\0' Special scalar variable */" },
23cfd2fc
NC
11 { '#', "want_vtbl_arylen | PERL_MAGIC_VALUE_MAGIC",
12 "/* arylen '#' Array length ($#ary) */" },
13 { '%', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
14 "/* rhash '%' extra data for restricted hashes */" },
2a388207
FC
15 { '&', "magic_vtable_max",
16 "/* proto '&' my sub prototype CV */" },
a6d69523
TC
17 { '*', "want_vtbl_debugvar",
18 "/* debugvar '*' $DB::single, signal, trace vars */" },
23cfd2fc
NC
19 { '.', "want_vtbl_pos | PERL_MAGIC_VALUE_MAGIC",
20 "/* pos '.' pos() lvalue */" },
21 { ':', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
22 "/* symtab ':' extra data for symbol tables */" },
23 { '<', "want_vtbl_backref | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC",
24 "/* backref '<' for weak ref data */" },
25 { '@', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
26 "/* arylen_p '@' to move arylen out of XPVAV */" },
82ff486e 27 { 'B', "want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC",
6f83ef0e 28 "/* bm 'B' Boyer-Moore (fast string search) */" },
23cfd2fc
NC
29 { 'c', "want_vtbl_ovrld",
30 "/* overload_table 'c' Holds overload table (AMT) on stash */" },
6f83ef0e
NC
31 { 'D', "want_vtbl_regdata",
32 "/* regdata 'D' Regex match position data (@+ and @- vars) */" },
33 { 'd', "want_vtbl_regdatum",
34 "/* regdatum 'd' Regex match position data element */" },
35 { 'E', "want_vtbl_env",
36 "/* env 'E' %ENV hash */" },
37 { 'e', "want_vtbl_envelem",
38 "/* envelem 'e' %ENV hash element */" },
eccba044 39 { 'f', "want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC",
6f83ef0e 40 "/* fm 'f' Formline ('compiled' format) */" },
82ff486e 41 { 'g', "want_vtbl_mglob | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC",
0177730e 42 "/* regex_global 'g' m//g target */" },
6f83ef0e
NC
43 { 'H', "want_vtbl_hints",
44 "/* hints 'H' %^H hash */" },
45 { 'h', "want_vtbl_hintselem",
46 "/* hintselem 'h' %^H hash element */" },
47 { 'I', "want_vtbl_isa",
48 "/* isa 'I' @ISA array */" },
49 { 'i', "want_vtbl_isaelem",
50 "/* isaelem 'i' @ISA array element */" },
e0a73de4 51 { 'k', "want_vtbl_nkeys | PERL_MAGIC_VALUE_MAGIC",
6f83ef0e 52 "/* nkeys 'k' scalar(keys()) lvalue */" },
f34d1562 53 { 'L', "magic_vtable_max",
6f83ef0e 54 "/* dbfile 'L' Debugger %_<filename */" },
f34d1562 55 { 'l', "want_vtbl_dbline",
6f83ef0e 56 "/* dbline 'l' Debugger %_<filename element */" },
e0a73de4 57 { 'o', "want_vtbl_collxfrm | PERL_MAGIC_VALUE_MAGIC",
6f83ef0e 58 "/* collxfrm 'o' Locale transformation */" },
e0a73de4 59 { 'P', "want_vtbl_pack | PERL_MAGIC_VALUE_MAGIC",
6f83ef0e
NC
60 "/* tied 'P' Tied array or hash */" },
61 { 'p', "want_vtbl_packelem",
62 "/* tiedelem 'p' Tied array or hash element */" },
63 { 'q', "want_vtbl_packelem",
64 "/* tiedscalar 'q' Tied scalar or handle */" },
237da807 65 { 'r', "want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC",
6f83ef0e
NC
66 "/* qr 'r' precompiled qr// regex */" },
67 { 'S', "magic_vtable_max",
68 "/* sig 'S' %SIG hash */" },
69 { 's', "want_vtbl_sigelem",
70 "/* sigelem 's' %SIG hash element */" },
e0a73de4 71 { 't', "want_vtbl_taint | PERL_MAGIC_VALUE_MAGIC",
6f83ef0e
NC
72 "/* taint 't' Taintedness */" },
73 { 'U', "want_vtbl_uvar",
74 "/* uvar 'U' Available for use by extensions */" },
4499db73 75 { 'V', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
6f83ef0e 76 "/* vstring 'V' SV was vstring literal */" },
23cfd2fc
NC
77 { 'v', "want_vtbl_vec | PERL_MAGIC_VALUE_MAGIC",
78 "/* vec 'v' vec() lvalue */" },
e0a73de4 79 { 'w', "want_vtbl_utf8 | PERL_MAGIC_VALUE_MAGIC",
6f83ef0e 80 "/* utf8 'w' Cached UTF-8 information */" },
e0a73de4 81 { 'x', "want_vtbl_substr | PERL_MAGIC_VALUE_MAGIC",
6f83ef0e 82 "/* substr 'x' substr() lvalue */" },
e0a73de4 83 { 'y', "want_vtbl_defelem | PERL_MAGIC_VALUE_MAGIC",
6f83ef0e 84 "/* defelem 'y' Shadow \"foreach\" iterator variable / smart parameter vivification */" },
9cce4f9a
FC
85 { '\\', "want_vtbl_lvref",
86 "/* lvref '\\' Lvalue reference in list assignment */" },
09fb282d 87 { ']', "want_vtbl_checkcall | PERL_MAGIC_VALUE_MAGIC",
6f83ef0e 88 "/* checkcall ']' inlining/mutation of call to this CV */" },
23cfd2fc
NC
89 { '~', "magic_vtable_max",
90 "/* ext '~' Available for use by extensions */" },
6f83ef0e
NC
91
92/* ex: set ro: */