Lines Matching refs:macro

529 do_formals (macro_entry *macro, size_t idx, sb *in)  in do_formals()  argument
531 formal_entry **p = &macro->formals; in do_formals()
544 if (macro->formal_count) in do_formals()
566 as_bad_where (macro->file, in do_formals()
567 macro->line, in do_formals()
570 macro->name); in do_formals()
576 as_bad_where (macro->file, in do_formals()
577 macro->line, in do_formals()
581 macro->name); in do_formals()
593 as_warn_where (macro->file, in do_formals()
594 macro->line, in do_formals()
597 macro->name); in do_formals()
603 if (htab_insert (macro->formal_hash, elt, 0) != NULL) in do_formals()
606 as_bad_where (macro->file, macro->line, in do_formals()
609 name, macro->name); in do_formals()
612 formal->index = macro->formal_count++; in do_formals()
644 if (htab_insert (macro->formal_hash, elt, 0) != NULL) in do_formals()
647 as_bad_where (macro->file, macro->line, in do_formals()
649 name, macro->name); in do_formals()
662 free_macro (macro_entry *macro) in free_macro() argument
666 for (formal = macro->formals; formal; ) in free_macro()
674 htab_delete (macro->formal_hash); in free_macro()
675 sb_kill (&macro->sub); in free_macro()
676 free (macro); in free_macro()
689 macro_entry *macro; in define_macro() local
693 macro = XNEW (macro_entry); in define_macro()
694 sb_new (&macro->sub); in define_macro()
696 macro->file = file; in define_macro()
697 macro->line = line; in define_macro()
699 macro->formal_count = 0; in define_macro()
700 macro->formals = 0; in define_macro()
701 macro->formal_hash = htab_create_alloc (7, hash_formal_entry, eq_formal_entry, in define_macro()
705 if (! buffer_and_nest ("MACRO", "ENDM", &macro->sub, get_line)) in define_macro()
710 macro->name = sb_terminate (&name); in define_macro()
714 idx = do_formals (macro, idx + 1, in); in define_macro()
723 idx = do_formals (macro, idx, in); in define_macro()
731 macro->name = sb_terminate (&name); in define_macro()
737 idx = do_formals (macro, idx, in); in define_macro()
749 macro_hash_entry_t *elt = macro_entry_alloc (macro->name, macro); in define_macro()
758 *namep = macro->name; in define_macro()
763 free_macro (macro); in define_macro()
835 struct htab *formal_hash, const macro_entry *macro) in macro_expand_body() argument
877 else if (!macro) in macro_expand_body()
880 as_bad_where (macro->file, macro->line + macro_line, _("missing `)'")); in macro_expand_body()
935 if (! macro in macro_expand_body()
962 as_bad_where (macro->file, macro->line + macro_line, in macro_expand_body()
1282 macro_entry *macro; in check_macro() local
1299 macro = macro_entry_find (macro_hash, copy); in check_macro()
1302 if (macro == NULL) in check_macro()
1311 *error = macro_expand (0, &line_sb, macro, expand); in check_macro()
1317 *info = macro; in check_macro()
1339 needle.macro = NULL; in delete_macro()
1343 free_macro (((macro_hash_entry_t *) *slot)->macro); in delete_macro()