1 /* generated by Template::Toolkit - do not edit */
2
3 #include "errors.h"
4 #include "error_func.h"
5 #include "str.h"
6 #include <stdio.h>
7 #include <stdlib.h>
8
error_read_file(const char * filename)9 void error_read_file(const char *filename)
10 {
11 STR_DEFINE(msg, STR_SIZE);
12
13 Str_append_sprintf( msg, "cannot read file '%s'", filename );
14 do_error( ErrError, Str_data(msg) );
15
16 STR_DELETE(msg);
17 }
error_write_file(const char * filename)18 void error_write_file(const char *filename)
19 {
20 STR_DEFINE(msg, STR_SIZE);
21
22 Str_append_sprintf( msg, "cannot write file '%s'", filename );
23 do_error( ErrError, Str_data(msg) );
24
25 STR_DELETE(msg);
26 }
error_include_recursion(const char * filename)27 void error_include_recursion(const char *filename)
28 {
29 STR_DEFINE(msg, STR_SIZE);
30
31 Str_append_sprintf( msg, "cannot include file '%s' recursively", filename );
32 do_error( ErrError, Str_data(msg) );
33
34 STR_DELETE(msg);
35 }
error_no_src_file(void)36 void error_no_src_file(void)
37 {
38 STR_DEFINE(msg, STR_SIZE);
39
40 Str_append_sprintf( msg, "source file missing" );
41 do_error( ErrError, Str_data(msg) );
42
43 STR_DELETE(msg);
44 }
error_illegal_option(const char * option)45 void error_illegal_option(const char *option)
46 {
47 STR_DEFINE(msg, STR_SIZE);
48
49 Str_append_sprintf( msg, "illegal option: %s", option );
50 do_error( ErrError, Str_data(msg) );
51
52 STR_DELETE(msg);
53 }
error_glob(const char * filename,const char * error)54 void error_glob(const char *filename, const char *error)
55 {
56 STR_DEFINE(msg, STR_SIZE);
57
58 Str_append_sprintf( msg, "problem with '%s': %s", filename, error );
59 do_error( ErrError, Str_data(msg) );
60
61 STR_DELETE(msg);
62 }
error_glob_no_files(const char * filename)63 void error_glob_no_files(const char *filename)
64 {
65 STR_DEFINE(msg, STR_SIZE);
66
67 Str_append_sprintf( msg, "pattern '%s' returned no files", filename );
68 do_error( ErrError, Str_data(msg) );
69
70 STR_DELETE(msg);
71 }
error_not_regular_file(const char * filename)72 void error_not_regular_file(const char *filename)
73 {
74 STR_DEFINE(msg, STR_SIZE);
75
76 Str_append_sprintf( msg, "file '%s' is not a regular file", filename );
77 do_error( ErrError, Str_data(msg) );
78
79 STR_DELETE(msg);
80 }
warn_symbol_different(const char * name,const char * used)81 void warn_symbol_different(const char *name, const char *used)
82 {
83 STR_DEFINE(msg, STR_SIZE);
84
85 Str_append_sprintf( msg, "symbol '%s' used as '%s'", name, used );
86 do_error( ErrWarn, Str_data(msg) );
87
88 STR_DELETE(msg);
89 }
warn_expr_in_parens(void)90 void warn_expr_in_parens(void)
91 {
92 STR_DEFINE(msg, STR_SIZE);
93
94 Str_append_sprintf( msg, "interpreting indirect value as immediate" );
95 do_error( ErrWarn, Str_data(msg) );
96
97 STR_DELETE(msg);
98 }
error_redefined_macro(const char * name)99 void error_redefined_macro(const char *name)
100 {
101 STR_DEFINE(msg, STR_SIZE);
102
103 Str_append_sprintf( msg, "macro '%s' redefined", name );
104 do_error( ErrError, Str_data(msg) );
105
106 STR_DELETE(msg);
107 }
error_syntax(void)108 void error_syntax(void)
109 {
110 STR_DEFINE(msg, STR_SIZE);
111
112 Str_append_sprintf( msg, "syntax error" );
113 do_error( ErrError, Str_data(msg) );
114
115 STR_DELETE(msg);
116 }
error_syntax_expr(void)117 void error_syntax_expr(void)
118 {
119 STR_DEFINE(msg, STR_SIZE);
120
121 Str_append_sprintf( msg, "syntax error in expression" );
122 do_error( ErrError, Str_data(msg) );
123
124 STR_DELETE(msg);
125 }
error_invalid_squoted_string(void)126 void error_invalid_squoted_string(void)
127 {
128 STR_DEFINE(msg, STR_SIZE);
129
130 Str_append_sprintf( msg, "invalid single quoted character" );
131 do_error( ErrError, Str_data(msg) );
132
133 STR_DELETE(msg);
134 }
error_unclosed_string(void)135 void error_unclosed_string(void)
136 {
137 STR_DEFINE(msg, STR_SIZE);
138
139 Str_append_sprintf( msg, "unclosed quoted string" );
140 do_error( ErrError, Str_data(msg) );
141
142 STR_DELETE(msg);
143 }
error_divide_by_zero(void)144 void error_divide_by_zero(void)
145 {
146 STR_DEFINE(msg, STR_SIZE);
147
148 Str_append_sprintf( msg, "division by zero" );
149 do_error( ErrError, Str_data(msg) );
150
151 STR_DELETE(msg);
152 }
error_missing_block(void)153 void error_missing_block(void)
154 {
155 STR_DEFINE(msg, STR_SIZE);
156
157 Str_append_sprintf( msg, "missing {} block" );
158 do_error( ErrError, Str_data(msg) );
159
160 STR_DELETE(msg);
161 }
error_missing_close_block(void)162 void error_missing_close_block(void)
163 {
164 STR_DEFINE(msg, STR_SIZE);
165
166 Str_append_sprintf( msg, "{} block not closed" );
167 do_error( ErrError, Str_data(msg) );
168
169 STR_DELETE(msg);
170 }
error_unbalanced_struct_at(const char * filename,int line_nr)171 void error_unbalanced_struct_at(const char *filename, int line_nr)
172 {
173 STR_DEFINE(msg, STR_SIZE);
174
175 Str_append_sprintf( msg, "unbalanced control structure started at file '%s' line %d", filename, line_nr );
176 do_error( ErrError, Str_data(msg) );
177
178 STR_DELETE(msg);
179 }
error_unbalanced_struct(void)180 void error_unbalanced_struct(void)
181 {
182 STR_DEFINE(msg, STR_SIZE);
183
184 Str_append_sprintf( msg, "unbalanced control structure" );
185 do_error( ErrError, Str_data(msg) );
186
187 STR_DELETE(msg);
188 }
error_not_defined(const char * name)189 void error_not_defined(const char *name)
190 {
191 STR_DEFINE(msg, STR_SIZE);
192
193 Str_append_sprintf( msg, "symbol '%s' not defined", name );
194 do_error( ErrError, Str_data(msg) );
195
196 STR_DELETE(msg);
197 }
error_illegal_ident(void)198 void error_illegal_ident(void)
199 {
200 STR_DEFINE(msg, STR_SIZE);
201
202 Str_append_sprintf( msg, "illegal identifier" );
203 do_error( ErrError, Str_data(msg) );
204
205 STR_DELETE(msg);
206 }
error_jr_not_local(void)207 void error_jr_not_local(void)
208 {
209 STR_DEFINE(msg, STR_SIZE);
210
211 Str_append_sprintf( msg, "relative jump address must be local" );
212 do_error( ErrError, Str_data(msg) );
213
214 STR_DELETE(msg);
215 }
error_expected_const_expr(void)216 void error_expected_const_expr(void)
217 {
218 STR_DEFINE(msg, STR_SIZE);
219
220 Str_append_sprintf( msg, "expected constant expression" );
221 do_error( ErrError, Str_data(msg) );
222
223 STR_DELETE(msg);
224 }
error_symbol_redefined(const char * symbol)225 void error_symbol_redefined(const char *symbol)
226 {
227 STR_DEFINE(msg, STR_SIZE);
228
229 Str_append_sprintf( msg, "symbol '%s' already defined", symbol );
230 do_error( ErrError, Str_data(msg) );
231
232 STR_DELETE(msg);
233 }
error_symbol_redefined_module(const char * symbol,const char * module)234 void error_symbol_redefined_module(const char *symbol, const char *module)
235 {
236 STR_DEFINE(msg, STR_SIZE);
237
238 Str_append_sprintf( msg, "symbol '%s' already defined in module '%s'", symbol, module );
239 do_error( ErrError, Str_data(msg) );
240
241 STR_DELETE(msg);
242 }
error_symbol_decl_local(const char * symbol)243 void error_symbol_decl_local(const char *symbol)
244 {
245 STR_DEFINE(msg, STR_SIZE);
246
247 Str_append_sprintf( msg, "symbol '%s' already declared local", symbol );
248 do_error( ErrError, Str_data(msg) );
249
250 STR_DELETE(msg);
251 }
error_symbol_redecl(const char * symbol)252 void error_symbol_redecl(const char *symbol)
253 {
254 STR_DEFINE(msg, STR_SIZE);
255
256 Str_append_sprintf( msg, "re-declaration of '%s' not allowed", symbol );
257 do_error( ErrError, Str_data(msg) );
258
259 STR_DELETE(msg);
260 }
error_expression_recursion(const char * name)261 void error_expression_recursion(const char *name)
262 {
263 STR_DEFINE(msg, STR_SIZE);
264
265 Str_append_sprintf( msg, "expression for '%s' depends on itself", name );
266 do_error( ErrError, Str_data(msg) );
267
268 STR_DELETE(msg);
269 }
error_max_codesize(long size)270 void error_max_codesize(long size)
271 {
272 STR_DEFINE(msg, STR_SIZE);
273
274 Str_append_sprintf( msg, "max. code size of %ld bytes reached", size );
275 do_error( ErrError, Str_data(msg) );
276
277 STR_DELETE(msg);
278 }
error_org_redefined(void)279 void error_org_redefined(void)
280 {
281 STR_DEFINE(msg, STR_SIZE);
282
283 Str_append_sprintf( msg, "ORG redefined" );
284 do_error( ErrError, Str_data(msg) );
285
286 STR_DELETE(msg);
287 }
error_align_redefined(void)288 void error_align_redefined(void)
289 {
290 STR_DEFINE(msg, STR_SIZE);
291
292 Str_append_sprintf( msg, "ALIGN redefined" );
293 do_error( ErrError, Str_data(msg) );
294
295 STR_DELETE(msg);
296 }
error_org_not_aligned(int org,int align)297 void error_org_not_aligned(int org, int align)
298 {
299 STR_DEFINE(msg, STR_SIZE);
300
301 Str_append_sprintf( msg, "ORG '0x%04X' not ALIGNed '%d'", org, align );
302 do_error( ErrError, Str_data(msg) );
303
304 STR_DELETE(msg);
305 }
error_invalid_org_option(const char * org_hex)306 void error_invalid_org_option(const char *org_hex)
307 {
308 STR_DEFINE(msg, STR_SIZE);
309
310 Str_append_sprintf( msg, "invalid origin (-r) option '%s'", org_hex );
311 do_error( ErrError, Str_data(msg) );
312
313 STR_DELETE(msg);
314 }
error_invalid_define_option(const char * define)315 void error_invalid_define_option(const char *define)
316 {
317 STR_DEFINE(msg, STR_SIZE);
318
319 Str_append_sprintf( msg, "invalid -DVAR=VAL option '%s'", define );
320 do_error( ErrError, Str_data(msg) );
321
322 STR_DELETE(msg);
323 }
error_invalid_org(int origin)324 void error_invalid_org(int origin)
325 {
326 STR_DEFINE(msg, STR_SIZE);
327
328 Str_append_sprintf( msg, "invalid origin: %d", origin );
329 do_error( ErrError, Str_data(msg) );
330
331 STR_DELETE(msg);
332 }
error_invalid_filler_option(const char * filler_hex)333 void error_invalid_filler_option(const char *filler_hex)
334 {
335 STR_DEFINE(msg, STR_SIZE);
336
337 Str_append_sprintf( msg, "invalid filler value: %s", filler_hex );
338 do_error( ErrError, Str_data(msg) );
339
340 STR_DELETE(msg);
341 }
warn_org_ignored(const char * filename,const char * section_name)342 void warn_org_ignored(const char *filename, const char *section_name)
343 {
344 STR_DEFINE(msg, STR_SIZE);
345
346 Str_append_sprintf( msg, "ORG ignored at file '%s', section '%s'", filename, section_name );
347 do_error( ErrWarn, Str_data(msg) );
348
349 STR_DELETE(msg);
350 }
error_not_obj_file(const char * filename)351 void error_not_obj_file(const char *filename)
352 {
353 STR_DEFINE(msg, STR_SIZE);
354
355 Str_append_sprintf( msg, "file '%s' not an object file", filename );
356 do_error( ErrError, Str_data(msg) );
357
358 STR_DELETE(msg);
359 }
error_obj_file_version(const char * filename,int found_version,int expected_version)360 void error_obj_file_version(const char *filename, int found_version, int expected_version)
361 {
362 STR_DEFINE(msg, STR_SIZE);
363
364 Str_append_sprintf( msg, "object file '%s' version %d, expected version %d", filename, found_version, expected_version );
365 do_error( ErrError, Str_data(msg) );
366
367 STR_DELETE(msg);
368 }
error_not_lib_file(const char * filename)369 void error_not_lib_file(const char *filename)
370 {
371 STR_DEFINE(msg, STR_SIZE);
372
373 Str_append_sprintf( msg, "file '%s' not a library file", filename );
374 do_error( ErrError, Str_data(msg) );
375
376 STR_DELETE(msg);
377 }
error_lib_file_version(const char * filename,int found_version,int expected_version)378 void error_lib_file_version(const char *filename, int found_version, int expected_version)
379 {
380 STR_DEFINE(msg, STR_SIZE);
381
382 Str_append_sprintf( msg, "library file '%s' version %d, expected version %d", filename, found_version, expected_version );
383 do_error( ErrError, Str_data(msg) );
384
385 STR_DELETE(msg);
386 }
warn_int_range(long value)387 void warn_int_range(long value)
388 {
389 STR_DEFINE(msg, STR_SIZE);
390
391 Str_append_sprintf( msg, "integer '%ld' out of range", value );
392 do_error( ErrWarn, Str_data(msg) );
393
394 STR_DELETE(msg);
395 }
error_int_range(long value)396 void error_int_range(long value)
397 {
398 STR_DEFINE(msg, STR_SIZE);
399
400 Str_append_sprintf( msg, "integer '%ld' out of range", value );
401 do_error( ErrError, Str_data(msg) );
402
403 STR_DELETE(msg);
404 }
error_base_register_illegal(long value)405 void error_base_register_illegal(long value)
406 {
407 STR_DEFINE(msg, STR_SIZE);
408
409 Str_append_sprintf( msg, "base register byte '%ld' is illegal", value );
410 do_error( ErrError, Str_data(msg) );
411
412 STR_DELETE(msg);
413 }
error_missing_arguments(void)414 void error_missing_arguments(void)
415 {
416 STR_DEFINE(msg, STR_SIZE);
417
418 Str_append_sprintf( msg, "DMA missing register group member(s)" );
419 do_error( ErrError, Str_data(msg) );
420
421 STR_DELETE(msg);
422 }
error_extra_arguments(void)423 void error_extra_arguments(void)
424 {
425 STR_DEFINE(msg, STR_SIZE);
426
427 Str_append_sprintf( msg, "DMA too many arguments" );
428 do_error( ErrError, Str_data(msg) );
429
430 STR_DELETE(msg);
431 }
error_port_A_timing(void)432 void error_port_A_timing(void)
433 {
434 STR_DEFINE(msg, STR_SIZE);
435
436 Str_append_sprintf( msg, "port A timing is illegal" );
437 do_error( ErrError, Str_data(msg) );
438
439 STR_DELETE(msg);
440 }
error_dma_unsupported_interrupts(void)441 void error_dma_unsupported_interrupts(void)
442 {
443 STR_DEFINE(msg, STR_SIZE);
444
445 Str_append_sprintf( msg, "DMA does not support interrupts" );
446 do_error( ErrError, Str_data(msg) );
447
448 STR_DELETE(msg);
449 }
error_dma_illegal_mode(void)450 void error_dma_illegal_mode(void)
451 {
452 STR_DEFINE(msg, STR_SIZE);
453
454 Str_append_sprintf( msg, "DMA mode is illegal" );
455 do_error( ErrError, Str_data(msg) );
456
457 STR_DELETE(msg);
458 }
error_dma_illegal_command(void)459 void error_dma_illegal_command(void)
460 {
461 STR_DEFINE(msg, STR_SIZE);
462
463 Str_append_sprintf( msg, "illegal DMA command" );
464 do_error( ErrError, Str_data(msg) );
465
466 STR_DELETE(msg);
467 }
error_dma_illegal_read_mask(void)468 void error_dma_illegal_read_mask(void)
469 {
470 STR_DEFINE(msg, STR_SIZE);
471
472 Str_append_sprintf( msg, "DMA read mask is illegal" );
473 do_error( ErrError, Str_data(msg) );
474
475 STR_DELETE(msg);
476 }
error_port_B_timing(void)477 void error_port_B_timing(void)
478 {
479 STR_DEFINE(msg, STR_SIZE);
480
481 Str_append_sprintf( msg, "port B timing is illegal" );
482 do_error( ErrError, Str_data(msg) );
483
484 STR_DELETE(msg);
485 }
warn_dma_unsupported_features(void)486 void warn_dma_unsupported_features(void)
487 {
488 STR_DEFINE(msg, STR_SIZE);
489
490 Str_append_sprintf( msg, "DMA does not support some features" );
491 do_error( ErrWarn, Str_data(msg) );
492
493 STR_DELETE(msg);
494 }
warn_dma_unsupported_command(void)495 void warn_dma_unsupported_command(void)
496 {
497 STR_DEFINE(msg, STR_SIZE);
498
499 Str_append_sprintf( msg, "DMA does not implement this command" );
500 do_error( ErrWarn, Str_data(msg) );
501
502 STR_DELETE(msg);
503 }
warn_dma_half_cycle_timing(void)504 void warn_dma_half_cycle_timing(void)
505 {
506 STR_DEFINE(msg, STR_SIZE);
507
508 Str_append_sprintf( msg, "DMA does not support half cycle timing" );
509 do_error( ErrWarn, Str_data(msg) );
510
511 STR_DELETE(msg);
512 }
warn_dma_ready_signal_unsupported(void)513 void warn_dma_ready_signal_unsupported(void)
514 {
515 STR_DEFINE(msg, STR_SIZE);
516
517 Str_append_sprintf( msg, "DMA does not support ready signals" );
518 do_error( ErrWarn, Str_data(msg) );
519
520 STR_DELETE(msg);
521 }
error_cmd_failed(const char * cmd)522 void error_cmd_failed(const char *cmd)
523 {
524 STR_DEFINE(msg, STR_SIZE);
525
526 Str_append_sprintf( msg, "command '%s' failed", cmd );
527 do_error( ErrError, Str_data(msg) );
528
529 STR_DELETE(msg);
530 }
531