Lines Matching defs:call
84 struct cil_call *call = parent->data;
85 macro = call->macro;
2691 cil_tree_log(curr, CIL_ERR, "call %s", ((struct cil_call *)curr->data)->macro_str);
2701 struct cil_call * call = NULL;
2710 call = curr->data;
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)
2744 if (call->args_tree == NULL) {
2751 if (call->args_tree == NULL) {
2756 arg_node = call->args_tree->root->cl_head;
2758 cil_list_init(&call->args, CIL_LIST_ITEM);
3017 cil_list_append(call->args, CIL_ARGS, arg);
3036 struct cil_call *call = current->data;
3042 if (call->copied) {
3046 rc = cil_resolve_name(current, call->macro_str, CIL_SYM_BLOCKS, extra_args, ¯o_datum);
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);
3076 call->copied = 1;
3086 struct cil_call *call = current->data;
3091 if (call->args == NULL) {
3096 cil_list_for_each(item, call->args) {
3183 cil_tree_log(current, CIL_ERR, "Failed to resolve %s in call argument list", arg->arg_str);
3191 /* Call arg should not resolve to declaration in the call
3193 * the call.
3198 cil_tree_log(current, CIL_ERR, "Failed to resolve %s in call argument list", arg->arg_str);
3203 cil_tree_log(current, CIL_ERR, "Failed to re-insert datum while resolving %s in call argument list", arg->arg_str);
3219 int cil_resolve_name_call_args(struct cil_call *call, char *name, enum cil_sym_index sym_index, struct cil_symtab_datum **datum)
3225 if (call == NULL || name == NULL) {
3229 if (call->args == NULL) {
3233 cil_list_for_each(item, call->args) {
4322 struct cil_call *call = node->data;
4323 struct cil_macro *macro = call->macro;
4327 /* If the name was declared in the macro, just look on the call side */
4330 rc = cil_resolve_name_call_args(call, name, sym_index, datum);
4333 rc = __cil_resolve_name_with_parents(NODE(call->macro)->parent, name, sym_index, datum);
4400 cil_log(CIL_ERR, "Invalid call to cil_resolve_name\n");