Deleted Added
full compact
dt_errtags.h (249575) dt_errtags.h (250812)
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
7 * with the License.
8 *
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22/*
23 * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 /*
28 * Copyright (c) 2011, Joyent, Inc. All rights reserved.
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
7 * with the License.
8 *
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22/*
23 * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 /*
28 * Copyright (c) 2011, Joyent, Inc. All rights reserved.
29 * Copyright (c) 2011 by Delphix. All rights reserved.
29 * Copyright (c) 2012 by Delphix. All rights reserved.
30 */
31
32#ifndef _DT_ERRTAGS_H
33#define _DT_ERRTAGS_H
34
35#ifdef __cplusplus
36extern "C" {
37#endif
38
39/*
40 * This enum definition is used to define a set of error tags associated with
41 * the D compiler's various error conditions. The shell script mkerrtags.sh is
42 * used to parse this file and create a corresponding dt_errtags.c source file.
43 * If you do something other than add a new error tag here, you may need to
44 * update the mkerrtags shell script as it is based upon simple regexps.
45 */
46typedef enum {
47 D_UNKNOWN, /* unknown D compiler error */
48 D_SYNTAX, /* syntax error in input stream */
49 D_EMPTY, /* empty translation unit */
50 D_TYPE_ERR, /* type definition missing */
51 D_TYPE_MEMBER, /* type member not found */
52 D_ASRELO, /* relocation remains against symbol */
53 D_CG_EXPR, /* tracing function called from expr */
54 D_CG_DYN, /* expression returns dynamic result */
55 D_ATTR_MIN, /* attributes less than amin setting */
56 D_ID_OFLOW, /* identifier space overflow */
57 D_PDESC_ZERO, /* probedesc matches zero probes */
58 D_PDESC_INVAL, /* probedesc is not valid */
59 D_PRED_SCALAR, /* predicate must be of scalar type */
60 D_FUNC_IDENT, /* function designator is not ident */
61 D_FUNC_UNDEF, /* function ident is not defined */
62 D_FUNC_IDKIND, /* function ident is of wrong idkind */
63 D_OFFSETOF_TYPE, /* offsetof arg is not sou type */
64 D_OFFSETOF_BITFIELD, /* offsetof applied to field member */
65 D_SIZEOF_TYPE, /* invalid sizeof type */
66 D_SIZEOF_BITFIELD, /* sizeof applied to field member */
67 D_STRINGOF_TYPE, /* invalid stringof type */
68 D_OP_IDENT, /* operand must be an identifier */
69 D_OP_INT, /* operand must be integral type */
70 D_OP_SCALAR, /* operand must be scalar type */
71 D_OP_ARITH, /* operand must be arithmetic type */
72 D_OP_WRITE, /* operand must be writable variable */
73 D_OP_LVAL, /* operand must be lvalue */
74 D_OP_INCOMPAT, /* operand types are not compatible */
75 D_OP_VFPTR, /* operand cannot be void or func ptr */
76 D_OP_ARRFUN, /* operand cannot be array or func */
77 D_OP_PTR, /* operand must be a pointer */
78 D_OP_SOU, /* operand must be struct or union */
79 D_OP_INCOMPLETE, /* operand is an incomplete type */
80 D_OP_DYN, /* operand cannot be of dynamic type */
81 D_OP_ACT, /* operand cannot be action */
82 D_AGG_REDEF, /* aggregation cannot be redefined */
83 D_AGG_FUNC, /* aggregating function required */
84 D_AGG_MDIM, /* aggregation used as multi-dim arr */
85 D_ARR_BADREF, /* access non-array using tuple */
86 D_ARR_LOCAL, /* cannot define local assc array */
87 D_DIV_ZERO, /* division by zero detected */
88 D_DEREF_NONPTR, /* dereference non-pointer type */
89 D_DEREF_VOID, /* dereference void pointer */
90 D_DEREF_FUNC, /* dereference function pointer */
91 D_ADDROF_LVAL, /* unary & applied to non-lvalue */
92 D_ADDROF_VAR, /* unary & applied to variable */
93 D_ADDROF_BITFIELD, /* unary & applied to field member */
94 D_XLATE_REDECL, /* translator redeclared */
95 D_XLATE_NOCONV, /* no conversion for member defined */
96 D_XLATE_NONE, /* no translator for type combo */
97 D_XLATE_SOU, /* dst must be struct or union type */
98 D_XLATE_INCOMPAT, /* translator member type incompat */
99 D_XLATE_MEMB, /* translator member is not valid */
100 D_CAST_INVAL, /* invalid cast expression */
101 D_PRAGERR, /* #pragma error message */
102 D_PRAGCTL_INVAL, /* invalid control directive */
103 D_PRAGMA_INVAL, /* invalid compiler pragma */
104 D_PRAGMA_UNUSED, /* unused compiler pragma */
105 D_PRAGMA_MALFORM, /* malformed #pragma argument list */
106 D_PRAGMA_OPTSET, /* failed to set #pragma option */
107 D_PRAGMA_SCOPE, /* #pragma identifier scope error */
108 D_PRAGMA_DEPEND, /* #pragma dependency not satisfied */
109 D_MACRO_UNDEF, /* macro parameter is not defined */
110 D_MACRO_OFLOW, /* macro parameter integer overflow */
111 D_MACRO_UNUSED, /* macro parameter is never used */
112 D_INT_OFLOW, /* integer constant overflow */
113 D_INT_DIGIT, /* integer digit is not valid */
114 D_STR_NL, /* newline in string literal */
115 D_CHR_NL, /* newline in character constant */
116 D_CHR_NULL, /* empty character constant */
117 D_CHR_OFLOW, /* character constant is too long */
118 D_IDENT_BADREF, /* identifier expected type mismatch */
119 D_IDENT_UNDEF, /* identifier is not known/defined */
120 D_IDENT_AMBIG, /* identifier is ambiguous (var/enum) */
121 D_SYM_BADREF, /* kernel/user symbol ref mismatch */
122 D_SYM_NOTYPES, /* no CTF data available for sym ref */
123 D_SYM_MODEL, /* module/program data model mismatch */
124 D_VAR_UNDEF, /* reference to undefined variable */
125 D_VAR_UNSUP, /* unsupported variable specification */
126 D_PROTO_LEN, /* prototype length mismatch */
127 D_PROTO_ARG, /* prototype argument mismatch */
128 D_ARGS_MULTI, /* description matches unstable set */
129 D_ARGS_XLATOR, /* no args[] translator defined */
130 D_ARGS_NONE, /* no args[] available */
131 D_ARGS_TYPE, /* invalid args[] type */
132 D_ARGS_IDX, /* invalid args[] index */
133 D_REGS_IDX, /* invalid regs[] index */
134 D_KEY_TYPE, /* invalid agg or array key type */
135 D_PRINTF_DYN_PROTO, /* dynamic size argument missing */
136 D_PRINTF_DYN_TYPE, /* dynamic size type mismatch */
137 D_PRINTF_AGG_CONV, /* improper use of %@ conversion */
138 D_PRINTF_ARG_PROTO, /* conversion missing value argument */
139 D_PRINTF_ARG_TYPE, /* conversion arg has wrong type */
140 D_PRINTF_ARG_EXTRA, /* extra arguments specified */
141 D_PRINTF_ARG_FMT, /* format string is not a constant */
142 D_PRINTF_FMT_EMPTY, /* format string is empty */
143 D_DECL_CHARATTR, /* bad attributes for char decl */
144 D_DECL_VOIDATTR, /* bad attributes for void decl */
145 D_DECL_SIGNINT, /* sign/unsign with non-integer decl */
146 D_DECL_LONGINT, /* long with non-arithmetic decl */
147 D_DECL_IDENT, /* old-style declaration or bad type */
148 D_DECL_CLASS, /* more than one storage class given */
149 D_DECL_BADCLASS, /* decl class not supported in D */
150 D_DECL_PARMCLASS, /* invalid class for parameter type */
151 D_DECL_COMBO, /* bad decl specifier combination */
152 D_DECL_ARRSUB, /* const int required for array size */
153 D_DECL_ARRNULL, /* array decl requires dim or tuple */
154 D_DECL_ARRBIG, /* array size too big */
155 D_DECL_IDRED, /* decl identifier redeclared */
156 D_DECL_TYPERED, /* decl type redeclared */
157 D_DECL_MNAME, /* member name missing */
158 D_DECL_SCOPE, /* scoping operator used in decl */
159 D_DECL_BFCONST, /* bit-field requires const size expr */
160 D_DECL_BFSIZE, /* bit-field size too big for type */
161 D_DECL_BFTYPE, /* bit-field type is not valid */
162 D_DECL_ENCONST, /* enum tag requires const size expr */
163 D_DECL_ENOFLOW, /* enumerator value overflows INT_MAX */
164 D_DECL_USELESS, /* useless external declaration */
165 D_DECL_LOCASSC, /* attempt to decl local assc array */
166 D_DECL_VOIDOBJ, /* attempt to decl void object */
167 D_DECL_DYNOBJ, /* attempt to decl dynamic object */
168 D_DECL_INCOMPLETE, /* declaration uses incomplete type */
169 D_DECL_PROTO_VARARGS, /* varargs not allowed in prototype */
170 D_DECL_PROTO_TYPE, /* type not allowed in prototype */
171 D_DECL_PROTO_VOID, /* void must be sole parameter */
172 D_DECL_PROTO_NAME, /* void parameter may not have a name */
173 D_DECL_PROTO_FORM, /* parameter name has no formal */
174 D_COMM_COMM, /* commit() after commit() */
175 D_COMM_DREC, /* commit() after data action */
176 D_SPEC_SPEC, /* speculate() after speculate() */
177 D_SPEC_COMM, /* speculate() after commit() */
178 D_SPEC_DREC, /* speculate() after data action */
179 D_AGG_COMM, /* aggregating act after commit() */
180 D_AGG_SPEC, /* aggregating act after speculate() */
181 D_AGG_NULL, /* aggregation stmt has null effect */
182 D_AGG_SCALAR, /* aggregating function needs scalar */
183 D_ACT_SPEC, /* destructive action after speculate */
184 D_EXIT_SPEC, /* exit() action after speculate */
185 D_DREC_COMM, /* data action after commit() */
186 D_PRINTA_PROTO, /* printa() prototype mismatch */
187 D_PRINTA_AGGARG, /* aggregation arg type mismatch */
188 D_PRINTA_AGGBAD, /* printa() aggregation not defined */
189 D_PRINTA_AGGKEY, /* printa() aggregation key mismatch */
190 D_PRINTA_AGGPROTO, /* printa() aggregation mismatch */
191 D_TRACE_VOID, /* trace() argument has void type */
192 D_TRACE_DYN, /* trace() argument has dynamic type */
193 D_PRINT_VOID, /* print() argument has void type */
194 D_PRINT_DYN, /* print() argument has dynamic type */
195 D_TRACEMEM_ADDR, /* tracemem() address bad type */
196 D_TRACEMEM_SIZE, /* tracemem() size bad type */
197 D_TRACEMEM_ARGS, /* tracemem() illegal number of args */
198 D_TRACEMEM_DYNSIZE, /* tracemem() dynamic size bad type */
199 D_STACK_PROTO, /* stack() prototype mismatch */
200 D_STACK_SIZE, /* stack() size argument bad type */
201 D_USTACK_FRAMES, /* ustack() frames arg bad type */
202 D_USTACK_STRSIZE, /* ustack() strsize arg bad type */
203 D_USTACK_PROTO, /* ustack() prototype mismatch */
204 D_LQUANT_BASETYPE, /* lquantize() bad base type */
205 D_LQUANT_BASEVAL, /* lquantize() bad base value */
206 D_LQUANT_LIMTYPE, /* lquantize() bad limit type */
207 D_LQUANT_LIMVAL, /* lquantize() bad limit value */
208 D_LQUANT_MISMATCH, /* lquantize() limit < base */
209 D_LQUANT_STEPTYPE, /* lquantize() bad step type */
210 D_LQUANT_STEPVAL, /* lquantize() bad step value */
211 D_LQUANT_STEPLARGE, /* lquantize() step too large */
212 D_LQUANT_STEPSMALL, /* lquantize() step too small */
213 D_QUANT_PROTO, /* quantize() prototype mismatch */
214 D_PROC_OFF, /* byte offset exceeds function size */
215 D_PROC_ALIGN, /* byte offset has invalid alignment */
216 D_PROC_NAME, /* invalid process probe name */
217 D_PROC_GRAB, /* failed to grab process */
218 D_PROC_DYN, /* process is not dynamically linked */
219 D_PROC_LIB, /* invalid process library name */
220 D_PROC_FUNC, /* no such function in process */
221 D_PROC_CREATEFAIL, /* pid probe creation failed */
222 D_PROC_NODEV, /* fasttrap device is not installed */
223 D_PROC_BADPID, /* user probe pid invalid */
224 D_PROC_BADPROV, /* user probe provider invalid */
225 D_PROC_USDT, /* problem initializing usdt */
226 D_CLEAR_PROTO, /* clear() prototype mismatch */
227 D_CLEAR_AGGARG, /* aggregation arg type mismatch */
228 D_CLEAR_AGGBAD, /* clear() aggregation not defined */
229 D_NORMALIZE_PROTO, /* normalize() prototype mismatch */
230 D_NORMALIZE_SCALAR, /* normalize() value must be scalar */
231 D_NORMALIZE_AGGARG, /* aggregation arg type mismatch */
232 D_NORMALIZE_AGGBAD, /* normalize() aggregation not def. */
233 D_TRUNC_PROTO, /* trunc() prototype mismatch */
234 D_TRUNC_SCALAR, /* trunc() value must be scalar */
235 D_TRUNC_AGGARG, /* aggregation arg type mismatch */
236 D_TRUNC_AGGBAD, /* trunc() aggregation not def. */
237 D_PROV_BADNAME, /* invalid provider name */
238 D_PROV_INCOMPAT, /* provider/probe interface mismatch */
239 D_PROV_PRDUP, /* duplicate probe declaration */
240 D_PROV_PRARGLEN, /* probe argument list too long */
241 D_PROV_PRXLATOR, /* probe argument translator missing */
242 D_FREOPEN_INVALID, /* frename() filename is invalid */
243 D_LQUANT_MATCHBASE, /* lquantize() mismatch on base */
244 D_LQUANT_MATCHLIM, /* lquantize() mismatch on limit */
245 D_LQUANT_MATCHSTEP, /* lquantize() mismatch on step */
246 D_LLQUANT_FACTORTYPE, /* llquantize() bad magnitude type */
247 D_LLQUANT_FACTORVAL, /* llquantize() bad magnitude value */
248 D_LLQUANT_FACTORMATCH, /* llquantize() mismatch on magnitude */
249 D_LLQUANT_LOWTYPE, /* llquantize() bad low mag type */
250 D_LLQUANT_LOWVAL, /* llquantize() bad low mag value */
251 D_LLQUANT_LOWMATCH, /* llquantize() mismatch on low mag */
252 D_LLQUANT_HIGHTYPE, /* llquantize() bad high mag type */
253 D_LLQUANT_HIGHVAL, /* llquantize() bad high mag value */
254 D_LLQUANT_HIGHMATCH, /* llquantize() mismatch on high mag */
255 D_LLQUANT_NSTEPTYPE, /* llquantize() bad # steps type */
256 D_LLQUANT_NSTEPVAL, /* llquantize() bad # steps value */
257 D_LLQUANT_NSTEPMATCH, /* llquantize() mismatch on # steps */
258 D_LLQUANT_MAGRANGE, /* llquantize() bad magnitude range */
259 D_LLQUANT_FACTORNSTEPS, /* llquantize() # steps < factor */
260 D_LLQUANT_FACTOREVEN, /* llquantize() bad # steps/factor */
261 D_LLQUANT_FACTORSMALL, /* llquantize() magnitude too small */
262 D_LLQUANT_MAGTOOBIG, /* llquantize() high mag too large */
30 */
31
32#ifndef _DT_ERRTAGS_H
33#define _DT_ERRTAGS_H
34
35#ifdef __cplusplus
36extern "C" {
37#endif
38
39/*
40 * This enum definition is used to define a set of error tags associated with
41 * the D compiler's various error conditions. The shell script mkerrtags.sh is
42 * used to parse this file and create a corresponding dt_errtags.c source file.
43 * If you do something other than add a new error tag here, you may need to
44 * update the mkerrtags shell script as it is based upon simple regexps.
45 */
46typedef enum {
47 D_UNKNOWN, /* unknown D compiler error */
48 D_SYNTAX, /* syntax error in input stream */
49 D_EMPTY, /* empty translation unit */
50 D_TYPE_ERR, /* type definition missing */
51 D_TYPE_MEMBER, /* type member not found */
52 D_ASRELO, /* relocation remains against symbol */
53 D_CG_EXPR, /* tracing function called from expr */
54 D_CG_DYN, /* expression returns dynamic result */
55 D_ATTR_MIN, /* attributes less than amin setting */
56 D_ID_OFLOW, /* identifier space overflow */
57 D_PDESC_ZERO, /* probedesc matches zero probes */
58 D_PDESC_INVAL, /* probedesc is not valid */
59 D_PRED_SCALAR, /* predicate must be of scalar type */
60 D_FUNC_IDENT, /* function designator is not ident */
61 D_FUNC_UNDEF, /* function ident is not defined */
62 D_FUNC_IDKIND, /* function ident is of wrong idkind */
63 D_OFFSETOF_TYPE, /* offsetof arg is not sou type */
64 D_OFFSETOF_BITFIELD, /* offsetof applied to field member */
65 D_SIZEOF_TYPE, /* invalid sizeof type */
66 D_SIZEOF_BITFIELD, /* sizeof applied to field member */
67 D_STRINGOF_TYPE, /* invalid stringof type */
68 D_OP_IDENT, /* operand must be an identifier */
69 D_OP_INT, /* operand must be integral type */
70 D_OP_SCALAR, /* operand must be scalar type */
71 D_OP_ARITH, /* operand must be arithmetic type */
72 D_OP_WRITE, /* operand must be writable variable */
73 D_OP_LVAL, /* operand must be lvalue */
74 D_OP_INCOMPAT, /* operand types are not compatible */
75 D_OP_VFPTR, /* operand cannot be void or func ptr */
76 D_OP_ARRFUN, /* operand cannot be array or func */
77 D_OP_PTR, /* operand must be a pointer */
78 D_OP_SOU, /* operand must be struct or union */
79 D_OP_INCOMPLETE, /* operand is an incomplete type */
80 D_OP_DYN, /* operand cannot be of dynamic type */
81 D_OP_ACT, /* operand cannot be action */
82 D_AGG_REDEF, /* aggregation cannot be redefined */
83 D_AGG_FUNC, /* aggregating function required */
84 D_AGG_MDIM, /* aggregation used as multi-dim arr */
85 D_ARR_BADREF, /* access non-array using tuple */
86 D_ARR_LOCAL, /* cannot define local assc array */
87 D_DIV_ZERO, /* division by zero detected */
88 D_DEREF_NONPTR, /* dereference non-pointer type */
89 D_DEREF_VOID, /* dereference void pointer */
90 D_DEREF_FUNC, /* dereference function pointer */
91 D_ADDROF_LVAL, /* unary & applied to non-lvalue */
92 D_ADDROF_VAR, /* unary & applied to variable */
93 D_ADDROF_BITFIELD, /* unary & applied to field member */
94 D_XLATE_REDECL, /* translator redeclared */
95 D_XLATE_NOCONV, /* no conversion for member defined */
96 D_XLATE_NONE, /* no translator for type combo */
97 D_XLATE_SOU, /* dst must be struct or union type */
98 D_XLATE_INCOMPAT, /* translator member type incompat */
99 D_XLATE_MEMB, /* translator member is not valid */
100 D_CAST_INVAL, /* invalid cast expression */
101 D_PRAGERR, /* #pragma error message */
102 D_PRAGCTL_INVAL, /* invalid control directive */
103 D_PRAGMA_INVAL, /* invalid compiler pragma */
104 D_PRAGMA_UNUSED, /* unused compiler pragma */
105 D_PRAGMA_MALFORM, /* malformed #pragma argument list */
106 D_PRAGMA_OPTSET, /* failed to set #pragma option */
107 D_PRAGMA_SCOPE, /* #pragma identifier scope error */
108 D_PRAGMA_DEPEND, /* #pragma dependency not satisfied */
109 D_MACRO_UNDEF, /* macro parameter is not defined */
110 D_MACRO_OFLOW, /* macro parameter integer overflow */
111 D_MACRO_UNUSED, /* macro parameter is never used */
112 D_INT_OFLOW, /* integer constant overflow */
113 D_INT_DIGIT, /* integer digit is not valid */
114 D_STR_NL, /* newline in string literal */
115 D_CHR_NL, /* newline in character constant */
116 D_CHR_NULL, /* empty character constant */
117 D_CHR_OFLOW, /* character constant is too long */
118 D_IDENT_BADREF, /* identifier expected type mismatch */
119 D_IDENT_UNDEF, /* identifier is not known/defined */
120 D_IDENT_AMBIG, /* identifier is ambiguous (var/enum) */
121 D_SYM_BADREF, /* kernel/user symbol ref mismatch */
122 D_SYM_NOTYPES, /* no CTF data available for sym ref */
123 D_SYM_MODEL, /* module/program data model mismatch */
124 D_VAR_UNDEF, /* reference to undefined variable */
125 D_VAR_UNSUP, /* unsupported variable specification */
126 D_PROTO_LEN, /* prototype length mismatch */
127 D_PROTO_ARG, /* prototype argument mismatch */
128 D_ARGS_MULTI, /* description matches unstable set */
129 D_ARGS_XLATOR, /* no args[] translator defined */
130 D_ARGS_NONE, /* no args[] available */
131 D_ARGS_TYPE, /* invalid args[] type */
132 D_ARGS_IDX, /* invalid args[] index */
133 D_REGS_IDX, /* invalid regs[] index */
134 D_KEY_TYPE, /* invalid agg or array key type */
135 D_PRINTF_DYN_PROTO, /* dynamic size argument missing */
136 D_PRINTF_DYN_TYPE, /* dynamic size type mismatch */
137 D_PRINTF_AGG_CONV, /* improper use of %@ conversion */
138 D_PRINTF_ARG_PROTO, /* conversion missing value argument */
139 D_PRINTF_ARG_TYPE, /* conversion arg has wrong type */
140 D_PRINTF_ARG_EXTRA, /* extra arguments specified */
141 D_PRINTF_ARG_FMT, /* format string is not a constant */
142 D_PRINTF_FMT_EMPTY, /* format string is empty */
143 D_DECL_CHARATTR, /* bad attributes for char decl */
144 D_DECL_VOIDATTR, /* bad attributes for void decl */
145 D_DECL_SIGNINT, /* sign/unsign with non-integer decl */
146 D_DECL_LONGINT, /* long with non-arithmetic decl */
147 D_DECL_IDENT, /* old-style declaration or bad type */
148 D_DECL_CLASS, /* more than one storage class given */
149 D_DECL_BADCLASS, /* decl class not supported in D */
150 D_DECL_PARMCLASS, /* invalid class for parameter type */
151 D_DECL_COMBO, /* bad decl specifier combination */
152 D_DECL_ARRSUB, /* const int required for array size */
153 D_DECL_ARRNULL, /* array decl requires dim or tuple */
154 D_DECL_ARRBIG, /* array size too big */
155 D_DECL_IDRED, /* decl identifier redeclared */
156 D_DECL_TYPERED, /* decl type redeclared */
157 D_DECL_MNAME, /* member name missing */
158 D_DECL_SCOPE, /* scoping operator used in decl */
159 D_DECL_BFCONST, /* bit-field requires const size expr */
160 D_DECL_BFSIZE, /* bit-field size too big for type */
161 D_DECL_BFTYPE, /* bit-field type is not valid */
162 D_DECL_ENCONST, /* enum tag requires const size expr */
163 D_DECL_ENOFLOW, /* enumerator value overflows INT_MAX */
164 D_DECL_USELESS, /* useless external declaration */
165 D_DECL_LOCASSC, /* attempt to decl local assc array */
166 D_DECL_VOIDOBJ, /* attempt to decl void object */
167 D_DECL_DYNOBJ, /* attempt to decl dynamic object */
168 D_DECL_INCOMPLETE, /* declaration uses incomplete type */
169 D_DECL_PROTO_VARARGS, /* varargs not allowed in prototype */
170 D_DECL_PROTO_TYPE, /* type not allowed in prototype */
171 D_DECL_PROTO_VOID, /* void must be sole parameter */
172 D_DECL_PROTO_NAME, /* void parameter may not have a name */
173 D_DECL_PROTO_FORM, /* parameter name has no formal */
174 D_COMM_COMM, /* commit() after commit() */
175 D_COMM_DREC, /* commit() after data action */
176 D_SPEC_SPEC, /* speculate() after speculate() */
177 D_SPEC_COMM, /* speculate() after commit() */
178 D_SPEC_DREC, /* speculate() after data action */
179 D_AGG_COMM, /* aggregating act after commit() */
180 D_AGG_SPEC, /* aggregating act after speculate() */
181 D_AGG_NULL, /* aggregation stmt has null effect */
182 D_AGG_SCALAR, /* aggregating function needs scalar */
183 D_ACT_SPEC, /* destructive action after speculate */
184 D_EXIT_SPEC, /* exit() action after speculate */
185 D_DREC_COMM, /* data action after commit() */
186 D_PRINTA_PROTO, /* printa() prototype mismatch */
187 D_PRINTA_AGGARG, /* aggregation arg type mismatch */
188 D_PRINTA_AGGBAD, /* printa() aggregation not defined */
189 D_PRINTA_AGGKEY, /* printa() aggregation key mismatch */
190 D_PRINTA_AGGPROTO, /* printa() aggregation mismatch */
191 D_TRACE_VOID, /* trace() argument has void type */
192 D_TRACE_DYN, /* trace() argument has dynamic type */
193 D_PRINT_VOID, /* print() argument has void type */
194 D_PRINT_DYN, /* print() argument has dynamic type */
195 D_TRACEMEM_ADDR, /* tracemem() address bad type */
196 D_TRACEMEM_SIZE, /* tracemem() size bad type */
197 D_TRACEMEM_ARGS, /* tracemem() illegal number of args */
198 D_TRACEMEM_DYNSIZE, /* tracemem() dynamic size bad type */
199 D_STACK_PROTO, /* stack() prototype mismatch */
200 D_STACK_SIZE, /* stack() size argument bad type */
201 D_USTACK_FRAMES, /* ustack() frames arg bad type */
202 D_USTACK_STRSIZE, /* ustack() strsize arg bad type */
203 D_USTACK_PROTO, /* ustack() prototype mismatch */
204 D_LQUANT_BASETYPE, /* lquantize() bad base type */
205 D_LQUANT_BASEVAL, /* lquantize() bad base value */
206 D_LQUANT_LIMTYPE, /* lquantize() bad limit type */
207 D_LQUANT_LIMVAL, /* lquantize() bad limit value */
208 D_LQUANT_MISMATCH, /* lquantize() limit < base */
209 D_LQUANT_STEPTYPE, /* lquantize() bad step type */
210 D_LQUANT_STEPVAL, /* lquantize() bad step value */
211 D_LQUANT_STEPLARGE, /* lquantize() step too large */
212 D_LQUANT_STEPSMALL, /* lquantize() step too small */
213 D_QUANT_PROTO, /* quantize() prototype mismatch */
214 D_PROC_OFF, /* byte offset exceeds function size */
215 D_PROC_ALIGN, /* byte offset has invalid alignment */
216 D_PROC_NAME, /* invalid process probe name */
217 D_PROC_GRAB, /* failed to grab process */
218 D_PROC_DYN, /* process is not dynamically linked */
219 D_PROC_LIB, /* invalid process library name */
220 D_PROC_FUNC, /* no such function in process */
221 D_PROC_CREATEFAIL, /* pid probe creation failed */
222 D_PROC_NODEV, /* fasttrap device is not installed */
223 D_PROC_BADPID, /* user probe pid invalid */
224 D_PROC_BADPROV, /* user probe provider invalid */
225 D_PROC_USDT, /* problem initializing usdt */
226 D_CLEAR_PROTO, /* clear() prototype mismatch */
227 D_CLEAR_AGGARG, /* aggregation arg type mismatch */
228 D_CLEAR_AGGBAD, /* clear() aggregation not defined */
229 D_NORMALIZE_PROTO, /* normalize() prototype mismatch */
230 D_NORMALIZE_SCALAR, /* normalize() value must be scalar */
231 D_NORMALIZE_AGGARG, /* aggregation arg type mismatch */
232 D_NORMALIZE_AGGBAD, /* normalize() aggregation not def. */
233 D_TRUNC_PROTO, /* trunc() prototype mismatch */
234 D_TRUNC_SCALAR, /* trunc() value must be scalar */
235 D_TRUNC_AGGARG, /* aggregation arg type mismatch */
236 D_TRUNC_AGGBAD, /* trunc() aggregation not def. */
237 D_PROV_BADNAME, /* invalid provider name */
238 D_PROV_INCOMPAT, /* provider/probe interface mismatch */
239 D_PROV_PRDUP, /* duplicate probe declaration */
240 D_PROV_PRARGLEN, /* probe argument list too long */
241 D_PROV_PRXLATOR, /* probe argument translator missing */
242 D_FREOPEN_INVALID, /* frename() filename is invalid */
243 D_LQUANT_MATCHBASE, /* lquantize() mismatch on base */
244 D_LQUANT_MATCHLIM, /* lquantize() mismatch on limit */
245 D_LQUANT_MATCHSTEP, /* lquantize() mismatch on step */
246 D_LLQUANT_FACTORTYPE, /* llquantize() bad magnitude type */
247 D_LLQUANT_FACTORVAL, /* llquantize() bad magnitude value */
248 D_LLQUANT_FACTORMATCH, /* llquantize() mismatch on magnitude */
249 D_LLQUANT_LOWTYPE, /* llquantize() bad low mag type */
250 D_LLQUANT_LOWVAL, /* llquantize() bad low mag value */
251 D_LLQUANT_LOWMATCH, /* llquantize() mismatch on low mag */
252 D_LLQUANT_HIGHTYPE, /* llquantize() bad high mag type */
253 D_LLQUANT_HIGHVAL, /* llquantize() bad high mag value */
254 D_LLQUANT_HIGHMATCH, /* llquantize() mismatch on high mag */
255 D_LLQUANT_NSTEPTYPE, /* llquantize() bad # steps type */
256 D_LLQUANT_NSTEPVAL, /* llquantize() bad # steps value */
257 D_LLQUANT_NSTEPMATCH, /* llquantize() mismatch on # steps */
258 D_LLQUANT_MAGRANGE, /* llquantize() bad magnitude range */
259 D_LLQUANT_FACTORNSTEPS, /* llquantize() # steps < factor */
260 D_LLQUANT_FACTOREVEN, /* llquantize() bad # steps/factor */
261 D_LLQUANT_FACTORSMALL, /* llquantize() magnitude too small */
262 D_LLQUANT_MAGTOOBIG, /* llquantize() high mag too large */
263 D_NOREG, /* no available internal registers */
263 D_PRINTM_ADDR, /* printm() memref bad type */
264 D_PRINTM_SIZE, /* printm() size bad type */
265 D_PRINTT_ADDR, /* printt() typeref bad type */
266 D_PRINTT_SIZE /* printt() size bad type */
267} dt_errtag_t;
268
269extern const char *dt_errtag(dt_errtag_t);
270
271#ifdef __cplusplus
272}
273#endif
274
275#endif /* _DT_ERRTAGS_H */
264 D_PRINTM_ADDR, /* printm() memref bad type */
265 D_PRINTM_SIZE, /* printm() size bad type */
266 D_PRINTT_ADDR, /* printt() typeref bad type */
267 D_PRINTT_SIZE /* printt() size bad type */
268} dt_errtag_t;
269
270extern const char *dt_errtag(dt_errtag_t);
271
272#ifdef __cplusplus
273}
274#endif
275
276#endif /* _DT_ERRTAGS_H */