Lines Matching defs:macro

57 	struct cil_tree_node *macro;
77 struct cil_macro *macro = NULL;
85 macro = call->macro;
87 macro = parent->data;
89 if (macro != NULL && macro->params != NULL) {
91 cil_list_for_each(item, macro->params) {
2674 cil_list_prepend(trace, CIL_NODE, NODE(((struct cil_call *)curr->data)->macro));
2683 cil_list_prepend(trace, CIL_NODE, NODE(((struct cil_call *)terminating_node->data)->macro));
2689 cil_tree_log(curr, CIL_ERR, "macro %s", DATUM(curr->data)->name);
2711 if (call->macro != macro_node->data) {
2723 cil_log(CIL_ERR, "Recursive macro call found:\n");
2735 static int cil_build_call_args(struct cil_tree_node *call_node, struct cil_call *call, struct cil_macro *macro, void *extra_args)
2743 if (macro->params == NULL) {
2760 cil_list_for_each(item, macro->params) {
2779 cil_tree_log(call_node, CIL_ERR, "Invalid macro parameter");
2794 cil_tree_log(call_node, CIL_ERR, "Invalid macro parameter");
2803 cil_tree_log(call_node, CIL_ERR, "Invalid macro parameter");
2812 cil_tree_log(call_node, CIL_ERR, "Invalid macro parameter");
2821 cil_tree_log(call_node, CIL_ERR, "Invalid macro parameter");
2830 cil_tree_log(call_node, CIL_ERR, "Invalid macro parameter");
2839 cil_tree_log(call_node, CIL_ERR, "Invalid macro parameter");
2864 cil_tree_log(call_node, CIL_ERR, "Invalid macro parameter");
2894 cil_tree_log(call_node, CIL_ERR, "Invalid macro parameter");
2924 cil_tree_log(call_node, CIL_ERR, "Invalid macro parameter");
2936 cil_tree_log(call_node, CIL_ERR, "Invalid macro parameter");
2963 cil_tree_log(call_node, CIL_ERR, "Invalid macro parameter");
2972 cil_tree_log(call_node, CIL_ERR, "Invalid macro parameter");
2998 cil_tree_log(call_node, CIL_ERR, "Invalid macro parameter");
3054 cil_tree_log(current, CIL_ERR, "Failed to resolve %s to a macro", call->macro_str);
3058 call->macro = (struct cil_macro*)macro_datum;
3060 rc = cil_build_call_args(current, call, call->macro, extra_args);
3072 cil_tree_log(current, CIL_ERR, "Failed to copy macro %s to call", macro_datum->name);
3668 if (node->flavor == CIL_CALL && args->macro == NULL) {
3673 if (node->flavor == CIL_CALL && args->macro == NULL) {
3911 struct cil_tree_node *macro = args->macro;
3928 if (macro != NULL) {
3935 cil_tree_log(node, CIL_ERR, "%s is not allowed in macro", cil_node_to_string(node));
4027 args->macro = parent;
4064 args->macro = NULL;
4105 extra_args.macro = NULL;
4316 struct cil_macro *macro = node->data;
4317 symtab = &macro->symtab[sym_index];
4323 struct cil_macro *macro = call->macro;
4324 symtab = &macro->symtab[sym_index];
4327 /* If the name was declared in the macro, just look on the call side */
4332 /* Continue search in macro's parent */
4333 rc = __cil_resolve_name_with_parents(NODE(call->macro)->parent, name, sym_index, datum);
4456 struct cil_macro *macro = node->data;
4457 symtab = &macro->symtab[sym_index];