This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Correct code-like snippet in documentation
[perl5.git] / scope_types.h
CommitLineData
4bd3be35
YO
1/* -*- buffer-read-only: t -*-
2
3 Copyright (C) 2022 by Larry Wall and others
4
5 You may distribute under the terms of either the GNU General Public
6 License or the Artistic License, as specified in the README file.
7
8 !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
9 This file is built by regen/scope_types.pl.
10 Any changes made here will be lost!
11 The defines and contents of the leave_scope_arg_counts[] array
12 must match. To add a new type modify the __DATA__ section in
13 regen/scope_types.pl and run `make regen` to rebuild the file.
14 */
15
721bab59
YO
16/* zero args */
17
4bd3be35
YO
18#define SAVEt_ALLOC 0
19#define SAVEt_CLEARPADRANGE 1
20#define SAVEt_CLEARSV 2
21#define SAVEt_REGCONTEXT 3
721bab59
YO
22
23/* one arg */
24
4bd3be35
YO
25#define SAVEt_TMPSFLOOR 4
26#define SAVEt_BOOL 5
fdec6615
YO
27#define SAVEt_COMPILE_WARNINGS 6
28#define SAVEt_CURCOP_WARNINGS 7
29#define SAVEt_COMPPAD 8
30#define SAVEt_FREECOPHH 9
31#define SAVEt_FREEOP 10
32#define SAVEt_FREEPV 11
33#define SAVEt_FREESV 12
34#define SAVEt_I16 13
35#define SAVEt_I32_SMALL 14
36#define SAVEt_I8 15
37#define SAVEt_INT_SMALL 16
38#define SAVEt_MORTALIZESV 17
39#define SAVEt_NSTAB 18
40#define SAVEt_OP 19
41#define SAVEt_PARSER 20
42#define SAVEt_STACK_POS 21
43#define SAVEt_READONLY_OFF 22
44#define SAVEt_FREEPADNAME 23
45#define SAVEt_STRLEN_SMALL 24
721bab59
YO
46
47/* two args */
48
fdec6615
YO
49#define SAVEt_AV 25
50#define SAVEt_DESTRUCTOR 26
51#define SAVEt_DESTRUCTOR_X 27
52#define SAVEt_GENERIC_PVREF 28
53#define SAVEt_GENERIC_SVREF 29
54#define SAVEt_GP 30
55#define SAVEt_GVSV 31
56#define SAVEt_HINTS 32
57#define SAVEt_HPTR 33
58#define SAVEt_HV 34
59#define SAVEt_I32 35
60#define SAVEt_INT 36
61#define SAVEt_ITEM 37
62#define SAVEt_IV 38
63#define SAVEt_LONG 39
64#define SAVEt_PPTR 40
65#define SAVEt_SAVESWITCHSTACK 41
66#define SAVEt_SHARED_PVREF 42
67#define SAVEt_SPTR 43
68#define SAVEt_STRLEN 44
69#define SAVEt_SV 45
70#define SAVEt_SVREF 46
71#define SAVEt_VPTR 47
72#define SAVEt_ADELETE 48
73#define SAVEt_APTR 49
74#define SAVEt_RCPV_FREE 50
721bab59
YO
75
76/* three args */
77
fdec6615
YO
78#define SAVEt_HELEM 51
79#define SAVEt_PADSV_AND_MORTALIZE 52
80#define SAVEt_SET_SVFLAGS 53
81#define SAVEt_GVSLOT 54
82#define SAVEt_AELEM 55
83#define SAVEt_DELETE 56
84#define SAVEt_HINTS_HH 57
721bab59
YO
85
86static const U8 leave_scope_arg_counts[] = {
4bd3be35
YO
87 0, /* SAVEt_ALLOC */
88 0, /* SAVEt_CLEARPADRANGE */
89 0, /* SAVEt_CLEARSV */
90 0, /* SAVEt_REGCONTEXT */
91 1, /* SAVEt_TMPSFLOOR */
92 1, /* SAVEt_BOOL */
fdec6615
YO
93 1, /* SAVEt_COMPILE_WARNINGS */
94 1, /* SAVEt_CURCOP_WARNINGS */
4bd3be35
YO
95 1, /* SAVEt_COMPPAD */
96 1, /* SAVEt_FREECOPHH */
97 1, /* SAVEt_FREEOP */
98 1, /* SAVEt_FREEPV */
99 1, /* SAVEt_FREESV */
100 1, /* SAVEt_I16 */
101 1, /* SAVEt_I32_SMALL */
102 1, /* SAVEt_I8 */
103 1, /* SAVEt_INT_SMALL */
104 1, /* SAVEt_MORTALIZESV */
105 1, /* SAVEt_NSTAB */
106 1, /* SAVEt_OP */
107 1, /* SAVEt_PARSER */
108 1, /* SAVEt_STACK_POS */
109 1, /* SAVEt_READONLY_OFF */
110 1, /* SAVEt_FREEPADNAME */
111 1, /* SAVEt_STRLEN_SMALL */
112 2, /* SAVEt_AV */
113 2, /* SAVEt_DESTRUCTOR */
114 2, /* SAVEt_DESTRUCTOR_X */
115 2, /* SAVEt_GENERIC_PVREF */
116 2, /* SAVEt_GENERIC_SVREF */
117 2, /* SAVEt_GP */
118 2, /* SAVEt_GVSV */
119 2, /* SAVEt_HINTS */
120 2, /* SAVEt_HPTR */
121 2, /* SAVEt_HV */
122 2, /* SAVEt_I32 */
123 2, /* SAVEt_INT */
124 2, /* SAVEt_ITEM */
125 2, /* SAVEt_IV */
126 2, /* SAVEt_LONG */
127 2, /* SAVEt_PPTR */
128 2, /* SAVEt_SAVESWITCHSTACK */
129 2, /* SAVEt_SHARED_PVREF */
130 2, /* SAVEt_SPTR */
131 2, /* SAVEt_STRLEN */
132 2, /* SAVEt_SV */
133 2, /* SAVEt_SVREF */
134 2, /* SAVEt_VPTR */
135 2, /* SAVEt_ADELETE */
136 2, /* SAVEt_APTR */
137 2, /* SAVEt_RCPV_FREE */
138 3, /* SAVEt_HELEM */
139 3, /* SAVEt_PADSV_AND_MORTALIZE */
140 3, /* SAVEt_SET_SVFLAGS */
141 3, /* SAVEt_GVSLOT */
142 3, /* SAVEt_AELEM */
143 3, /* SAVEt_DELETE */
144 3 /* SAVEt_HINTS_HH */
721bab59 145};
4bd3be35 146
fdec6615 147#define MAX_SAVEt 57
4bd3be35
YO
148
149/* ex: set ro: */