ANN static inline void match_map(struct Match_ * const match, Exp e) {
const Map map = &match->map;
map_init(map);
+ Exp next;
do {
+ next = e->next;
e->next = NULL;
map_set(map, (vtype)e, 0);
- } while((e = e->next));
+ } while((e = next));
}
ANN static inline void match_unmap(struct Match_ * const match) {
if(!stmt->is_label)
stmt->data.instr = emit_add_instr(emit, Goto);
else {
- assert(!stmt->data.v.ptr);
+ assert(stmt->data.v.ptr);
const m_uint size = vector_size(&stmt->data.v);
if(!size)
ERR_B(stmt_self(stmt)->pos, _("label '%s' defined but not used."), s_name(stmt->name))
-#! [contains] vararg.start not used before vararg.end. this is an error
+#! [contains] vararg.start not used before vararg.end
fun void test(int i, ...) {
vararg.end;
#! vararg.start;
-#! [contains] vararg.start already used. this is an error
+#! [contains] vararg.start already used
fun void test(...) { vararg.start; vararg.start;}
-#! [contains] vararg.start not used before vararg.end. this is an error
+#! [contains] vararg.start not used before vararg.end
fun void test(int i, ...) {
vararg.end;
#! vararg.start;