Lines Matching defs:expansion

193 /* Perform macro expansion in-place on the given list. */
3776 /* Perform macro expansion on 'list', placing the resulting tokens
3826 yyerror (&node->token->location, parser, "'##' cannot appear at either end of a macro expansion\n");
3843 * Returns NULL if node is a simple token with no expansion, (that is,
3848 * Compute the complete expansion of node (which is a function-like
3851 * Returns the token list that results from the expansion and sets
3853 * expansion. Specifically, *last will be set as follows: as the
3945 /* After argument substitution, and before further expansion
3955 /* Compute the complete expansion of node, (and subsequent nodes after
3959 * Returns NULL if node is a simple token with no expansion.
3961 * Otherwise, returns the token list that results from the expansion
3963 * the expansion. Specifically, *last will be set as follows:
3965 * As 'node' in the case of object-like macro expansion.
3968 * function-like macro expansion.
3996 /* Not a macro, so no expansion needed. */
4004 * OTHER to prevent any future expansion of this
4007 token_list_t *expansion;
4012 expansion = _token_list_create (parser);
4013 _token_list_append (expansion, final);
4015 return expansion;
4038 * expansion of 'identifier'. That is, when the list iterator begins
4088 /* Walk over the token list replacing nodes with their expansion.
4099 token_list_t *expansion;
4115 expansion = _glcpp_parser_expand_node (parser, node, &last);
4116 if (expansion) {
4130 /* Splice expansion into list, supporting a
4131 * simple deletion if the expansion is
4133 if (expansion->head) {
4135 node_prev->next = expansion->head;
4137 list->head = expansion->head;
4138 expansion->tail->next = last->next;
4140 list->tail = expansion->tail;