comparison src/lwasm.c @ 78:121bf4a588ea

Checkpointing deployment of non-constant expression handling
author lost
date Sat, 10 Jan 2009 05:00:42 +0000
parents a338d496350e
children d0ce3f5f6797
comparison
equal deleted inserted replaced
77:a338d496350e 78:121bf4a588ea
420 if (!s) 420 if (!s)
421 { 421 {
422 *val = l -> exprvals[slot]; 422 *val = l -> exprvals[slot];
423 return 0; 423 return 0;
424 } 424 }
425
426 // was a constant result on pass 1 requested?
427 // that means we must have a constant on either pass
428 if (flag & EXPR_PASS1CONST)
429 {
430 *val = 0;
431 l -> exprvals[slot] = 0;
432 register_error(as, l, 1, "Illegal forward, external, or inter-section reference");
433 lwasm_expr_stack_free(s);
434 l -> exprs[slot] = NULL;
435 return -1;
436 }
425 437
426 return 1; 438 return 1;
427 } 439 }
428 440
429 void debug_message(int level, const char *fmt, ...) 441 void debug_message(int level, const char *fmt, ...)