Lines Matching refs:expansion
122 /* Perform macro expansion in-place on the given list. */
1650 /* Perform macro expansion on 'list', placing the resulting tokens
1701 yyerror(&node->token->location, parser, "'##' cannot appear at either end of a macro expansion\n");
1718 * Returns NULL if node is a simple token with no expansion, (that is,
1723 * Compute the complete expansion of node (which is a function-like
1726 * Returns the token list that results from the expansion and sets
1728 * expansion. Specifically, *last will be set as follows: as the
1811 /* After argument substitution, and before further expansion
1821 /* Compute the complete expansion of node, (and subsequent nodes after
1825 * Returns NULL if node is a simple token with no expansion.
1827 * Otherwise, returns the token list that results from the expansion
1829 * the expansion. Specifically, *last will be set as follows:
1831 * As 'node' in the case of object-like macro expansion.
1834 * function-like macro expansion.
1872 /* Not a macro, so no expansion needed. */
1880 * future expansion of this unexpanded token. */
1882 token_list_t *expansion;
1887 expansion = _token_list_create(parser);
1888 _token_list_append(parser, expansion, final);
1889 return expansion;
1910 * expansion of 'identifier'. That is, when the list iterator begins
1957 /* Walk over the token list replacing nodes with their expansion.
1963 * result from expansion as follows:
1984 token_list_t *expansion;
2003 expansion = _glcpp_parser_expand_node (parser, node, &last, mode);
2004 if (expansion) {
2008 _glcpp_parser_evaluate_defined_in_list (parser, expansion);
2018 /* Splice expansion into list, supporting a simple deletion if the
2019 * expansion is empty.
2021 if (expansion->head) {
2023 node_prev->next = expansion->head;
2025 list->head = expansion->head;
2026 expansion->tail->next = last->next;
2028 list->tail = expansion->tail;