Home | History | Annotate | Download | only in cs

Lines Matching full:macro

320 static void dealloc_macro (CS_MACRO **macro)
324 if (*macro == NULL) return;
325 my_macro = *macro;
330 *macro = NULL;
1131 case CS_TYPE_MACRO: return more ? "MACRO" : "m";
2828 CS_MACRO *macro;
2857 "%s Missing left paren in macro def %s",
2862 macro = parse->macros;
2863 while (macro != NULL)
2865 if (!strcmp(macro->name, name))
2869 "%s Duplicate macro def for %s",
2872 macro = macro->next;
2875 macro = (CS_MACRO *) calloc (1, sizeof (CS_MACRO));
2876 if (macro) macro->name = strdup(name);
2877 if (macro == NULL || macro->name == NULL)
2880 dealloc_macro(&macro);
2911 if (*s == '\0' && macro->n_args == 0) break;
2929 macro->args = carg;
2937 macro->n_args++;
2945 dealloc_macro(&macro);
2949 macro->tree = node;
2952 macro->next = parse->macros;
2954 parse->macros = macro;
3003 CS_MACRO *macro;
3036 /* Check to see if this macro exists */
3037 macro = parse->macros;
3038 while (macro != NULL)
3040 if (!strcmp(macro->name, name)) break;
3041 macro = macro->next;
3043 if (macro == NULL)
3046 err = nerr_raise (NERR_PARSE, "%s Undefined macro called: %s",
3057 node->arg1.macro = macro;
3094 if (!err && nargs != macro->n_args)
3097 "%s Incorrect number of arguments, expected %d, got %d in call to macro %s: %s",
3098 find_context(parse, -1, tmp, sizeof(tmp)), macro->n_args, nargs,
3099 macro->name, arg);
3118 CS_MACRO *macro;
3132 macro = node->arg1.macro;
3133 if (macro->n_args)
3135 call_map = (CS_LOCAL_MAP *) calloc (macro->n_args, sizeof(CS_LOCAL_MAP));
3139 macro->name);
3146 darg = macro->args;
3149 for (x = 0; x < macro->n_args; x++)
3216 if (macro->n_args) parse->locals = call_map;
3217 err = render_node (parse, macro->tree->case_0);
3220 for (x = 0; x < macro->n_args; x++)
4175 * tree, so if this sub-parse tree adds a macro, the macro reference will
4257 snprintf (buf, blen, "%s ", node->arg1.macro->name);