OSX/iOS: Fix SDK incompatibility.
[luajit-2.0.git] / src / lj_errmsg.h
blob127c06daf7f225dd354c2c27226c3309b8afff8a
1 /*
2 ** VM error messages.
3 ** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
4 */
6 /* This file may be included multiple times with different ERRDEF macros. */
8 /* Basic error handling. */
9 ERRDEF(ERRMEM, "not enough memory")
10 ERRDEF(ERRERR, "error in error handling")
11 ERRDEF(ERRCPP, "C++ exception")
13 /* Allocations. */
14 ERRDEF(STROV, "string length overflow")
15 ERRDEF(UDATAOV, "userdata length overflow")
16 ERRDEF(STKOV, "stack overflow")
17 ERRDEF(STKOVM, "stack overflow (%s)")
18 ERRDEF(TABOV, "table overflow")
20 /* Table indexing. */
21 ERRDEF(NANIDX, "table index is NaN")
22 ERRDEF(NILIDX, "table index is nil")
23 ERRDEF(NEXTIDX, "invalid key to " LUA_QL("next"))
25 /* Metamethod resolving. */
26 ERRDEF(BADCALL, "attempt to call a %s value")
27 ERRDEF(BADOPRT, "attempt to %s %s " LUA_QS " (a %s value)")
28 ERRDEF(BADOPRV, "attempt to %s a %s value")
29 ERRDEF(BADCMPT, "attempt to compare %s with %s")
30 ERRDEF(BADCMPV, "attempt to compare two %s values")
31 ERRDEF(GETLOOP, "loop in gettable")
32 ERRDEF(SETLOOP, "loop in settable")
33 ERRDEF(OPCALL, "call")
34 ERRDEF(OPINDEX, "index")
35 ERRDEF(OPARITH, "perform arithmetic on")
36 ERRDEF(OPCAT, "concatenate")
37 ERRDEF(OPLEN, "get length of")
39 /* Type checks. */
40 ERRDEF(BADSELF, "calling " LUA_QS " on bad self (%s)")
41 ERRDEF(BADARG, "bad argument #%d to " LUA_QS " (%s)")
42 ERRDEF(BADTYPE, "%s expected, got %s")
43 ERRDEF(BADVAL, "invalid value")
44 ERRDEF(NOVAL, "value expected")
45 ERRDEF(NOCORO, "coroutine expected")
46 ERRDEF(NOTABN, "nil or table expected")
47 ERRDEF(NOLFUNC, "Lua function expected")
48 ERRDEF(NOFUNCL, "function or level expected")
49 ERRDEF(NOSFT, "string/function/table expected")
50 ERRDEF(NOPROXY, "boolean or proxy expected")
51 ERRDEF(FORINIT, LUA_QL("for") " initial value must be a number")
52 ERRDEF(FORLIM, LUA_QL("for") " limit must be a number")
53 ERRDEF(FORSTEP, LUA_QL("for") " step must be a number")
55 /* C API checks. */
56 ERRDEF(NOENV, "no calling environment")
57 ERRDEF(CYIELD, "attempt to yield across C-call boundary")
58 ERRDEF(BADLU, "bad light userdata pointer")
59 ERRDEF(NOGCMM, "bad action while in __gc metamethod")
60 #if LJ_TARGET_WINDOWS
61 ERRDEF(BADFPU, "bad FPU precision (use D3DCREATE_FPU_PRESERVE with DirectX)")
62 #endif
64 /* Standard library function errors. */
65 ERRDEF(ASSERT, "assertion failed!")
66 ERRDEF(PROTMT, "cannot change a protected metatable")
67 ERRDEF(UNPACK, "too many results to unpack")
68 ERRDEF(RDRSTR, "reader function must return a string")
69 ERRDEF(PRTOSTR, LUA_QL("tostring") " must return a string to " LUA_QL("print"))
70 ERRDEF(NUMRNG, "number out of range")
71 ERRDEF(IDXRNG, "index out of range")
72 ERRDEF(BASERNG, "base out of range")
73 ERRDEF(LVLRNG, "level out of range")
74 ERRDEF(INVLVL, "invalid level")
75 ERRDEF(INVOPT, "invalid option")
76 ERRDEF(INVOPTM, "invalid option " LUA_QS)
77 ERRDEF(INVFMT, "invalid format")
78 ERRDEF(SETFENV, LUA_QL("setfenv") " cannot change environment of given object")
79 ERRDEF(CORUN, "cannot resume running coroutine")
80 ERRDEF(CODEAD, "cannot resume dead coroutine")
81 ERRDEF(COSUSP, "cannot resume non-suspended coroutine")
82 ERRDEF(TABINS, "wrong number of arguments to " LUA_QL("insert"))
83 ERRDEF(TABCAT, "invalid value (%s) at index %d in table for " LUA_QL("concat"))
84 ERRDEF(TABSORT, "invalid order function for sorting")
85 ERRDEF(IOCLFL, "attempt to use a closed file")
86 ERRDEF(IOSTDCL, "standard file is closed")
87 ERRDEF(OSUNIQF, "unable to generate a unique filename")
88 ERRDEF(OSDATEF, "field " LUA_QS " missing in date table")
89 ERRDEF(STRDUMP, "unable to dump given function")
90 ERRDEF(STRSLC, "string slice too long")
91 ERRDEF(STRPATB, "missing " LUA_QL("[") " after " LUA_QL("%f") " in pattern")
92 ERRDEF(STRPATC, "invalid pattern capture")
93 ERRDEF(STRPATE, "malformed pattern (ends with " LUA_QL("%") ")")
94 ERRDEF(STRPATM, "malformed pattern (missing " LUA_QL("]") ")")
95 ERRDEF(STRPATU, "unbalanced pattern")
96 ERRDEF(STRPATX, "pattern too complex")
97 ERRDEF(STRCAPI, "invalid capture index")
98 ERRDEF(STRCAPN, "too many captures")
99 ERRDEF(STRCAPU, "unfinished capture")
100 ERRDEF(STRFMT, "invalid option " LUA_QS " to " LUA_QL("format"))
101 ERRDEF(STRGSRV, "invalid replacement value (a %s)")
102 ERRDEF(BADMODN, "name conflict for module " LUA_QS)
103 #if LJ_HASJIT
104 ERRDEF(JITPROT, "runtime code generation failed, restricted kernel?")
105 ERRDEF(NOJIT, "JIT compiler disabled")
106 #elif defined(LJ_ARCH_NOJIT)
107 ERRDEF(NOJIT, "no JIT compiler for this architecture (yet)")
108 #else
109 ERRDEF(NOJIT, "JIT compiler permanently disabled by build option")
110 #endif
111 ERRDEF(JITOPT, "unknown or malformed optimization flag " LUA_QS)
113 /* Lexer/parser errors. */
114 ERRDEF(XMODE, "attempt to load chunk with wrong mode")
115 ERRDEF(XNEAR, "%s near " LUA_QS)
116 ERRDEF(XLINES, "chunk has too many lines")
117 ERRDEF(XLEVELS, "chunk has too many syntax levels")
118 ERRDEF(XNUMBER, "malformed number")
119 ERRDEF(XLSTR, "unfinished long string")
120 ERRDEF(XLCOM, "unfinished long comment")
121 ERRDEF(XSTR, "unfinished string")
122 ERRDEF(XESC, "invalid escape sequence")
123 ERRDEF(XLDELIM, "invalid long string delimiter")
124 ERRDEF(XTOKEN, LUA_QS " expected")
125 ERRDEF(XJUMP, "control structure too long")
126 ERRDEF(XSLOTS, "function or expression too complex")
127 ERRDEF(XLIMC, "chunk has more than %d local variables")
128 ERRDEF(XLIMM, "main function has more than %d %s")
129 ERRDEF(XLIMF, "function at line %d has more than %d %s")
130 ERRDEF(XMATCH, LUA_QS " expected (to close " LUA_QS " at line %d)")
131 ERRDEF(XFIXUP, "function too long for return fixup")
132 ERRDEF(XPARAM, "<name> or " LUA_QL("...") " expected")
133 #if !LJ_52
134 ERRDEF(XAMBIG, "ambiguous syntax (function call x new statement)")
135 #endif
136 ERRDEF(XFUNARG, "function arguments expected")
137 ERRDEF(XSYMBOL, "unexpected symbol")
138 ERRDEF(XDOTS, "cannot use " LUA_QL("...") " outside a vararg function")
139 ERRDEF(XSYNTAX, "syntax error")
140 ERRDEF(XFOR, LUA_QL("=") " or " LUA_QL("in") " expected")
141 ERRDEF(XBREAK, "no loop to break")
142 ERRDEF(XLUNDEF, "undefined label " LUA_QS)
143 ERRDEF(XLDUP, "duplicate label " LUA_QS)
144 ERRDEF(XGSCOPE, "<goto %s> jumps into the scope of local " LUA_QS)
146 /* Bytecode reader errors. */
147 ERRDEF(BCFMT, "cannot load incompatible bytecode")
148 ERRDEF(BCBAD, "cannot load malformed bytecode")
150 #if LJ_HASFFI
151 /* FFI errors. */
152 ERRDEF(FFI_INVTYPE, "invalid C type")
153 ERRDEF(FFI_INVSIZE, "size of C type is unknown or too large")
154 ERRDEF(FFI_BADSCL, "bad storage class")
155 ERRDEF(FFI_DECLSPEC, "declaration specifier expected")
156 ERRDEF(FFI_BADTAG, "undeclared or implicit tag " LUA_QS)
157 ERRDEF(FFI_REDEF, "attempt to redefine " LUA_QS)
158 ERRDEF(FFI_NUMPARAM, "wrong number of type parameters")
159 ERRDEF(FFI_INITOV, "too many initializers for " LUA_QS)
160 ERRDEF(FFI_BADCONV, "cannot convert " LUA_QS " to " LUA_QS)
161 ERRDEF(FFI_BADLEN, "attempt to get length of " LUA_QS)
162 ERRDEF(FFI_BADCONCAT, "attempt to concatenate " LUA_QS " and " LUA_QS)
163 ERRDEF(FFI_BADARITH, "attempt to perform arithmetic on " LUA_QS " and " LUA_QS)
164 ERRDEF(FFI_BADCOMP, "attempt to compare " LUA_QS " with " LUA_QS)
165 ERRDEF(FFI_BADCALL, LUA_QS " is not callable")
166 ERRDEF(FFI_NUMARG, "wrong number of arguments for function call")
167 ERRDEF(FFI_BADMEMBER, LUA_QS " has no member named " LUA_QS)
168 ERRDEF(FFI_BADIDX, LUA_QS " cannot be indexed")
169 ERRDEF(FFI_BADIDXW, LUA_QS " cannot be indexed with " LUA_QS)
170 ERRDEF(FFI_BADMM, LUA_QS " has no " LUA_QS " metamethod")
171 ERRDEF(FFI_WRCONST, "attempt to write to constant location")
172 ERRDEF(FFI_NODECL, "missing declaration for symbol " LUA_QS)
173 ERRDEF(FFI_BADCBACK, "bad callback")
174 #if LJ_OS_NOJIT
175 ERRDEF(FFI_CBACKOV, "no support for callbacks on this OS")
176 #else
177 ERRDEF(FFI_CBACKOV, "too many callbacks")
178 #endif
179 ERRDEF(FFI_NYIPACKBIT, "NYI: packed bit fields")
180 ERRDEF(FFI_NYICALL, "NYI: cannot call this C function (yet)")
181 #endif
183 #if LJ_HASBUFFER
184 /* String buffer errors. */
185 ERRDEF(BUFFER_SELF, "cannot put buffer into itself")
186 ERRDEF(BUFFER_BADOPT, "bad options table")
187 ERRDEF(BUFFER_BADENC, "cannot serialize " LUA_QS)
188 ERRDEF(BUFFER_BADDEC, "cannot deserialize tag 0x%02x")
189 ERRDEF(BUFFER_BADDICTX, "cannot deserialize dictionary index %d")
190 ERRDEF(BUFFER_DEPTH, "too deep to serialize")
191 ERRDEF(BUFFER_DUPKEY, "duplicate table key")
192 ERRDEF(BUFFER_EOB, "unexpected end of buffer")
193 ERRDEF(BUFFER_LEFTOV, "left-over data in buffer")
194 #endif
196 #undef ERRDEF
198 /* Detecting unused error messages:
199 awk -F, '/^ERRDEF/ { gsub(/ERRDEF./, ""); printf "grep -q LJ_ERR_%s *.[ch] || echo %s\n", $1, $1}' lj_errmsg.h | sh