Lines Matching refs:expansion

133 /* Perform macro expansion in-place on the given list. */
1764 /* Perform macro expansion on 'list', placing the resulting tokens
1815 yyerror(&node->token->location, parser, "'##' cannot appear at either end of a macro expansion\n");
1832 * Returns NULL if node is a simple token with no expansion, (that is,
1837 * Compute the complete expansion of node (which is a function-like
1840 * Returns the token list that results from the expansion and sets
1842 * expansion. Specifically, *last will be set as follows: as the
1925 /* After argument substitution, and before further expansion
1935 /* Compute the complete expansion of node, (and subsequent nodes after
1939 * Returns NULL if node is a simple token with no expansion.
1941 * Otherwise, returns the token list that results from the expansion
1943 * the expansion. Specifically, *last will be set as follows:
1945 * As 'node' in the case of object-like macro expansion.
1948 * function-like macro expansion.
1990 /* Not a macro, so no expansion needed. */
1998 * future expansion of this unexpanded token. */
2000 token_list_t *expansion;
2006 expansion = _token_list_create(parser);
2007 _token_list_append(parser, expansion, final);
2008 return expansion;
2029 * expansion of 'identifier'. That is, when the list iterator begins
2076 /* Walk over the token list replacing nodes with their expansion.
2082 * result from expansion as follows:
2103 token_list_t *expansion;
2125 expansion = _glcpp_parser_expand_node (parser, node, &last, mode, line);
2126 if (expansion) {
2130 _glcpp_parser_evaluate_defined_in_list (parser, expansion);
2140 /* Splice expansion into list, supporting a simple deletion if the
2141 * expansion is empty.
2143 if (expansion->head) {
2145 node_prev->next = expansion->head;
2147 list->head = expansion->head;
2148 expansion->tail->next = last->next;
2150 list->tail = expansion->tail;