Lines Matching defs:expansion
196 /* Perform macro expansion in-place on the given list. */
3880 /* Perform macro expansion on 'list', placing the resulting tokens
3931 yyerror(&node->token->location, parser, "'##' cannot appear at either end of a macro expansion\n");
3948 * Returns NULL if node is a simple token with no expansion, (that is,
3953 * Compute the complete expansion of node (which is a function-like
3956 * Returns the token list that results from the expansion and sets
3958 * expansion. Specifically, *last will be set as follows: as the
4041 /* After argument substitution, and before further expansion
4051 /* Compute the complete expansion of node, (and subsequent nodes after
4055 * Returns NULL if node is a simple token with no expansion.
4057 * Otherwise, returns the token list that results from the expansion
4059 * the expansion. Specifically, *last will be set as follows:
4061 * As 'node' in the case of object-like macro expansion.
4064 * function-like macro expansion.
4102 /* Not a macro, so no expansion needed. */
4110 * future expansion of this unexpanded token. */
4112 token_list_t *expansion;
4117 expansion = _token_list_create(parser);
4118 _token_list_append(parser, expansion, final);
4119 return expansion;
4140 * expansion of 'identifier'. That is, when the list iterator begins
4187 /* Walk over the token list replacing nodes with their expansion.
4193 * result from expansion as follows:
4214 token_list_t *expansion;
4233 expansion = _glcpp_parser_expand_node (parser, node, &last, mode);
4234 if (expansion) {
4238 _glcpp_parser_evaluate_defined_in_list (parser, expansion);
4248 /* Splice expansion into list, supporting a simple deletion if the
4249 * expansion is empty.
4251 if (expansion->head) {
4253 node_prev->next = expansion->head;
4255 list->head = expansion->head;
4256 expansion->tail->next = last->next;
4258 list->tail = expansion->tail;