Lines Matching defs:label
2022 struct symbol *label;
2028 label = label_symbol(token, 1);
2029 add_symbol(labels, label);
2371 sparse_error(use, "label '%s' used outside statement expression", id);
2372 info(def, " label '%s' defined here", id);
2376 void check_label_usage(struct symbol *label, struct position use_pos)
2378 struct statement *def = label->stmt;
2382 warn_label_usage(def->pos, use_pos, label->ident);
2383 } else if (!label->label_scope) {
2384 label->label_scope = label_scope;
2385 label->label_pos = use_pos;
2397 struct symbol *label = label_symbol(token, 1);
2398 stmt->goto_label = label;
2399 check_label_usage(label, stmt->pos);
2440 static struct token *handle_label_attributes(struct token *token, struct symbol *label)
2445 label->label_modifiers = ctx.ctype.modifiers;
2463 sparse_error(stmt->pos, "label '%s' redefined", show_ident(s->ident));
2464 // skip the label to avoid multiple definitions
2476 warning(token->pos, "statement expected after label");
2498 /* it's block-scope, but we want label namespace */
2506 return expect(token, ';', "at end of label declaration");