Lines Matching refs:macro
313 …_start_funlike (cpp_reader *pfile, cpp_hashnode *node, const uchar *start, struct fun_macro *macro) in maybe_start_funlike() argument
315 unsigned int n = node->value.macro->paramc + 1; in maybe_start_funlike()
317 if (macro->buff) in maybe_start_funlike()
318 _cpp_release_buff (pfile, macro->buff); in maybe_start_funlike()
319 macro->buff = _cpp_get_buff (pfile, n * sizeof (size_t)); in maybe_start_funlike()
320 macro->args = (size_t *) BUFF_FRONT (macro->buff); in maybe_start_funlike()
321 macro->node = node; in maybe_start_funlike()
322 macro->offset = start - pfile->out.base; in maybe_start_funlike()
323 macro->argc = 0; in maybe_start_funlike()
328 save_argument (struct fun_macro *macro, size_t offset) in save_argument() argument
330 macro->argc++; in save_argument()
331 if (macro->argc <= macro->node->value.macro->paramc) in save_argument()
332 macro->args[macro->argc] = offset; in save_argument()
343 _cpp_scan_out_logical_line (cpp_reader *pfile, cpp_macro *macro) in _cpp_scan_out_logical_line() argument
451 cur = copy_comment (pfile, cur, macro != 0); in _cpp_scan_out_logical_line()
468 if (!pfile->state.skipping && (quote == 0 || macro)) in _cpp_scan_out_logical_line()
486 && node->value.macro->fun_like) in _cpp_scan_out_logical_line()
503 else if (macro && (node->flags & NODE_MACRO_ARG) != 0) in _cpp_scan_out_logical_line()
508 save_replacement_text (pfile, macro, node->value.arg_index); in _cpp_scan_out_logical_line()
559 cpp_macro *m = fmacro.node->value.macro; in _cpp_scan_out_logical_line()
701 cpp_macro *macro = node->value.macro; in push_replacement_text() local
702 macro->used = 1; in push_replacement_text()
703 text = macro->exp.text; in push_replacement_text()
704 macro->traditional = 1; in push_replacement_text()
705 len = macro->count; in push_replacement_text()
727 if (recursing && node->value.macro->fun_like) in recursive_macro()
735 if (context->macro == node && depth > 20) in recursive_macro()
754 _cpp_replacement_text_len (const cpp_macro *macro) in _cpp_replacement_text_len() argument
758 if (macro->fun_like && (macro->paramc != 0)) in _cpp_replacement_text_len()
763 for (exp = macro->exp.text;;) in _cpp_replacement_text_len()
770 len += NODE_LEN (macro->params[b->arg_index - 1]); in _cpp_replacement_text_len()
775 len = macro->count; in _cpp_replacement_text_len()
784 _cpp_copy_replacement_text (const cpp_macro *macro, uchar *dest) in _cpp_copy_replacement_text() argument
786 if (macro->fun_like && (macro->paramc != 0)) in _cpp_copy_replacement_text()
790 for (exp = macro->exp.text;;) in _cpp_copy_replacement_text()
799 param = macro->params[b->arg_index - 1]; in _cpp_copy_replacement_text()
807 memcpy (dest, macro->exp.text, macro->count); in _cpp_copy_replacement_text()
808 dest += macro->count; in _cpp_copy_replacement_text()
820 cpp_macro *macro = fmacro->node->value.macro; in replace_args_and_push() local
822 if (macro->paramc == 0) in replace_args_and_push()
832 for (exp = macro->exp.text;;) in replace_args_and_push()
849 for (exp = macro->exp.text;;) in replace_args_and_push()
882 scan_parameters (cpp_reader *pfile, cpp_macro *macro) in scan_parameters() argument
894 if (_cpp_save_parameter (pfile, macro, lex_identifier (pfile, cur))) in scan_parameters()
907 ok = (*cur == ')' && macro->paramc == 0); in scan_parameters()
924 save_replacement_text (cpp_reader *pfile, cpp_macro *macro, in save_replacement_text() argument
930 if (macro->paramc == 0) in save_replacement_text()
937 macro->exp.text = exp; in save_replacement_text()
938 macro->traditional = 1; in save_replacement_text()
939 macro->count = len; in save_replacement_text()
948 if (macro->count + blen > BUFF_ROOM (pfile->a_buff)) in save_replacement_text()
949 _cpp_extend_buff (pfile, &pfile->a_buff, macro->count + blen); in save_replacement_text()
952 block = (struct block *) (exp + macro->count); in save_replacement_text()
953 macro->exp.text = exp; in save_replacement_text()
954 macro->traditional = 1; in save_replacement_text()
964 macro->count += blen; in save_replacement_text()
968 BUFF_FRONT (pfile->a_buff) += macro->count; in save_replacement_text()
975 _cpp_create_trad_definition (cpp_reader *pfile, cpp_macro *macro) in _cpp_create_trad_definition() argument
991 bool ok = scan_parameters (pfile, macro); in _cpp_create_trad_definition()
994 macro->params = (cpp_hashnode **) BUFF_FRONT (pfile->a_buff); in _cpp_create_trad_definition()
999 macro = NULL; in _cpp_create_trad_definition()
1002 BUFF_FRONT (pfile->a_buff) = (uchar *) ¯o->params[macro->paramc]; in _cpp_create_trad_definition()
1003 macro->fun_like = 1; in _cpp_create_trad_definition()
1013 _cpp_scan_out_logical_line (pfile, macro); in _cpp_create_trad_definition()
1016 if (!macro) in _cpp_create_trad_definition()
1025 save_replacement_text (pfile, macro, 0); in _cpp_create_trad_definition()