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
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.
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]
23 * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
28 * Copyright (c) 2011, Joyent, Inc. All rights reserved.
29 * Copyright (c) 2012 by Delphix. All rights reserved.
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.
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_TRACE_AGG
, /* trace() argument is an aggregation */
194 D_PRINT_VOID
, /* print() argument has void type */
195 D_PRINT_DYN
, /* print() argument has dynamic type */
196 D_PRINT_AGG
, /* print() argument is an aggregation */
197 D_TRACEMEM_ADDR
, /* tracemem() address bad type */
198 D_TRACEMEM_SIZE
, /* tracemem() size bad type */
199 D_TRACEMEM_ARGS
, /* tracemem() illegal number of args */
200 D_TRACEMEM_DYNSIZE
, /* tracemem() dynamic size bad type */
201 D_STACK_PROTO
, /* stack() prototype mismatch */
202 D_STACK_SIZE
, /* stack() size argument bad type */
203 D_USTACK_FRAMES
, /* ustack() frames arg bad type */
204 D_USTACK_STRSIZE
, /* ustack() strsize arg bad type */
205 D_USTACK_PROTO
, /* ustack() prototype mismatch */
206 D_LQUANT_BASETYPE
, /* lquantize() bad base type */
207 D_LQUANT_BASEVAL
, /* lquantize() bad base value */
208 D_LQUANT_LIMTYPE
, /* lquantize() bad limit type */
209 D_LQUANT_LIMVAL
, /* lquantize() bad limit value */
210 D_LQUANT_MISMATCH
, /* lquantize() limit < base */
211 D_LQUANT_STEPTYPE
, /* lquantize() bad step type */
212 D_LQUANT_STEPVAL
, /* lquantize() bad step value */
213 D_LQUANT_STEPLARGE
, /* lquantize() step too large */
214 D_LQUANT_STEPSMALL
, /* lquantize() step too small */
215 D_QUANT_PROTO
, /* quantize() prototype mismatch */
216 D_PROC_OFF
, /* byte offset exceeds function size */
217 D_PROC_ALIGN
, /* byte offset has invalid alignment */
218 D_PROC_NAME
, /* invalid process probe name */
219 D_PROC_GRAB
, /* failed to grab process */
220 D_PROC_DYN
, /* process is not dynamically linked */
221 D_PROC_LIB
, /* invalid process library name */
222 D_PROC_FUNC
, /* no such function in process */
223 D_PROC_CREATEFAIL
, /* pid probe creation failed */
224 D_PROC_NODEV
, /* fasttrap device is not installed */
225 D_PROC_BADPID
, /* user probe pid invalid */
226 D_PROC_BADPROV
, /* user probe provider invalid */
227 D_PROC_USDT
, /* problem initializing usdt */
228 D_CLEAR_PROTO
, /* clear() prototype mismatch */
229 D_CLEAR_AGGARG
, /* aggregation arg type mismatch */
230 D_CLEAR_AGGBAD
, /* clear() aggregation not defined */
231 D_NORMALIZE_PROTO
, /* normalize() prototype mismatch */
232 D_NORMALIZE_SCALAR
, /* normalize() value must be scalar */
233 D_NORMALIZE_AGGARG
, /* aggregation arg type mismatch */
234 D_NORMALIZE_AGGBAD
, /* normalize() aggregation not def. */
235 D_TRUNC_PROTO
, /* trunc() prototype mismatch */
236 D_TRUNC_SCALAR
, /* trunc() value must be scalar */
237 D_TRUNC_AGGARG
, /* aggregation arg type mismatch */
238 D_TRUNC_AGGBAD
, /* trunc() aggregation not def. */
239 D_PROV_BADNAME
, /* invalid provider name */
240 D_PROV_INCOMPAT
, /* provider/probe interface mismatch */
241 D_PROV_PRDUP
, /* duplicate probe declaration */
242 D_PROV_PRARGLEN
, /* probe argument list too long */
243 D_PROV_PRXLATOR
, /* probe argument translator missing */
244 D_FREOPEN_INVALID
, /* frename() filename is invalid */
245 D_LQUANT_MATCHBASE
, /* lquantize() mismatch on base */
246 D_LQUANT_MATCHLIM
, /* lquantize() mismatch on limit */
247 D_LQUANT_MATCHSTEP
, /* lquantize() mismatch on step */
248 D_LLQUANT_FACTORTYPE
, /* llquantize() bad magnitude type */
249 D_LLQUANT_FACTORVAL
, /* llquantize() bad magnitude value */
250 D_LLQUANT_FACTORMATCH
, /* llquantize() mismatch on magnitude */
251 D_LLQUANT_LOWTYPE
, /* llquantize() bad low mag type */
252 D_LLQUANT_LOWVAL
, /* llquantize() bad low mag value */
253 D_LLQUANT_LOWMATCH
, /* llquantize() mismatch on low mag */
254 D_LLQUANT_HIGHTYPE
, /* llquantize() bad high mag type */
255 D_LLQUANT_HIGHVAL
, /* llquantize() bad high mag value */
256 D_LLQUANT_HIGHMATCH
, /* llquantize() mismatch on high mag */
257 D_LLQUANT_NSTEPTYPE
, /* llquantize() bad # steps type */
258 D_LLQUANT_NSTEPVAL
, /* llquantize() bad # steps value */
259 D_LLQUANT_NSTEPMATCH
, /* llquantize() mismatch on # steps */
260 D_LLQUANT_MAGRANGE
, /* llquantize() bad magnitude range */
261 D_LLQUANT_FACTORNSTEPS
, /* llquantize() # steps < factor */
262 D_LLQUANT_FACTOREVEN
, /* llquantize() bad # steps/factor */
263 D_LLQUANT_FACTORSMALL
, /* llquantize() magnitude too small */
264 D_LLQUANT_MAGTOOBIG
, /* llquantize() high mag too large */
265 D_NOREG
/* no available internal registers */
268 extern const char *dt_errtag(dt_errtag_t
);
274 #endif /* _DT_ERRTAGS_H */