#include "symtab.h"#include "cpp-id-data.h"


Go to the source code of this file.
| #define _cpp_mark_macro_used | ( | NODE | ) |
Value:
do { \ if ((NODE)->type == NT_MACRO && !((NODE)->flags & NODE_BUILTIN)) \ (NODE)->value.macro->used = 1; } while (0)
Definition at line 93 of file internal.h.
| #define _dollar_ok | ( | x | ) | ((x) == '$' && CPP_OPTION (pfile, dollars_in_ident)) |
Definition at line 460 of file internal.h.
| #define BITS_PER_CPPCHAR_T (CHAR_BIT * sizeof (cppchar_t)) |
Definition at line 53 of file internal.h.
| #define BUFF_FRONT | ( | BUFF | ) | ((BUFF)->cur) |
Definition at line 114 of file internal.h.
| #define BUFF_LIMIT | ( | BUFF | ) | ((BUFF)->limit) |
Definition at line 115 of file internal.h.
Definition at line 113 of file internal.h.
Definition at line 91 of file internal.h.
Definition at line 90 of file internal.h.
Definition at line 65 of file internal.h.
Definition at line 64 of file internal.h.
| #define CPP_BUFFER | ( | PFILE | ) | ((PFILE)->buffer) |
Definition at line 63 of file internal.h.
| #define CPP_INCREMENT_LINE | ( | PFILE, | |||
| COLS_HINT | ) |
Value:
do { \ const struct line_maps *line_table = PFILE->line_table; \ const struct line_map *map = &line_table->maps[line_table->used-1]; \ unsigned int line = SOURCE_LINE (map, line_table->highest_line); \ linemap_line_start (PFILE->line_table, line + 1, COLS_HINT); \ } while (0)
Definition at line 67 of file internal.h.
| #define CPP_OPTION | ( | PFILE, | |||
| OPTION | ) | ((PFILE)->opts.OPTION) |
Definition at line 62 of file internal.h.
| #define CPP_PEDANTIC | ( | PF | ) | CPP_OPTION (PF, pedantic) |
Definition at line 488 of file internal.h.
| #define CPP_STACK_MAX 200 |
Definition at line 76 of file internal.h.
| #define CPP_WTRADITIONAL | ( | PF | ) | CPP_OPTION (PF, warn_traditional) |
Definition at line 489 of file internal.h.
| #define CUR | ( | c | ) | ((c)->u.trad.cur) |
Definition at line 137 of file internal.h.
Definition at line 89 of file internal.h.
Definition at line 613 of file internal.h.
Definition at line 135 of file internal.h.
| #define HAVE_ICONV 0 |
Definition at line 36 of file internal.h.
| #define INITIAL_NORMALIZE_STATE { 0, 0, normalized_KC } |
| #define is_hspace | ( | x | ) | ISBLANK(x) |
Definition at line 466 of file internal.h.
| #define is_idchar | ( | x | ) | (ISIDNUM(x) || _dollar_ok(x)) |
Definition at line 462 of file internal.h.
| #define is_idstart | ( | x | ) | (ISIDST(x) || _dollar_ok(x)) |
Definition at line 464 of file internal.h.
| #define is_numchar | ( | x | ) | ISIDNUM(x) |
Definition at line 463 of file internal.h.
| #define is_numstart | ( | x | ) | ISDIGIT(x) |
Definition at line 465 of file internal.h.
| #define is_nvspace | ( | x | ) | IS_NVSPACE(x) |
Definition at line 468 of file internal.h.
| #define is_space | ( | x | ) | IS_SPACE_OR_NUL(x) |
Definition at line 469 of file internal.h.
| #define is_vspace | ( | x | ) | IS_VSPACE(x) |
Definition at line 467 of file internal.h.
| #define LAST | ( | c | ) | ((c)->u.iso.last) |
Definition at line 136 of file internal.h.
Definition at line 597 of file internal.h.
Referenced by _cpp_valid_ucn(), lex_identifier(), and lex_number().
Definition at line 138 of file internal.h.
| #define VALID_SIGN | ( | c, | |||
| prevc | ) |
Value:
(((c) == '+' || (c) == '-') && \ ((prevc) == 'e' || (prevc) == 'E' \ || (((prevc) == 'p' || (prevc) == 'P') \ && CPP_OPTION (pfile, extended_numbers))))
Definition at line 56 of file internal.h.
Definition at line 98 of file internal.h.
Definition at line 515 of file internal.h.
| typedef struct _cpp_line_note _cpp_line_note |
Definition at line 234 of file internal.h.
Definition at line 45 of file internal.h.
| typedef struct cpp_context cpp_context |
Definition at line 140 of file internal.h.
| typedef int iconv_t |
Definition at line 37 of file internal.h.
Definition at line 127 of file internal.h.
| enum include_type |
| IT_INCLUDE | |
| IT_INCLUDE_NEXT | |
| IT_IMPORT | |
| IT_CMDLINE | |
| IT_INCLUDE | |
| IT_INCLUDE_NEXT | |
| IT_IMPORT | |
| IT_CMDLINE | |
| IT_INCLUDE | |
| IT_INCLUDE_NEXT | |
| IT_IMPORT | |
| IT_CMDLINE | |
| IT_INCLUDE | |
| IT_INCLUDE_NEXT | |
| IT_IMPORT | |
| IT_CMDLINE |
Definition at line 118 of file internal.h.
| unsigned char* _cpp_aligned_alloc | ( | cpp_reader * | , | |
| size_t | ||||
| ) |
Definition at line 2332 of file cpplex.c.
References _cpp_get_buff(), cpp_reader::a_buff, _cpp_buff::cur, _cpp_buff::limit, _cpp_buff::next, and result.
Referenced by _cpp_create_definition(), insert_pragma_entry(), and new_pragma_entry().
| _cpp_buff* _cpp_append_extend_buff | ( | cpp_reader * | , | |
| _cpp_buff * | , | |||
| size_t | ||||
| ) |
Definition at line 2253 of file cpplex.c.
References _cpp_get_buff(), _cpp_buff::base, BUFF_ROOM, _cpp_buff::cur, EXTENDED_BUFF_SIZE, memcpy, new_buff(), _cpp_buff::next, and size.
Referenced by collect_args().
| bool _cpp_arguments_ok | ( | cpp_reader * | , | |
| cpp_macro * | , | |||
| const cpp_hashnode * | , | |||
| unsigned | int | |||
| ) |
Definition at line 523 of file cppmacro.c.
References CPP_DL_ERROR, CPP_DL_PEDWARN, cpp_error(), CPP_PEDANTIC, DL_ERROR, DL_PEDWARN, NODE_NAME, cpp_macro::paramc, cpp_macro::syshdr, and cpp_macro::variadic.
Referenced by _cpp_scan_out_logical_line(), collect_args(), and scan_out_logical_line().
| int _cpp_begin_message | ( | cpp_reader * | , | |
| int | , | |||
| source_location | , | |||
| unsigned | int | |||
| ) |
Definition at line 73 of file cpperror.c.
References _, CPP_DL_ERROR, CPP_DL_EXTRACT, CPP_DL_ICE, CPP_DL_PEDWARN, CPP_DL_WARNING, CPP_DL_WARNING_P, CPP_DL_WARNING_SYSHDR, CPP_IN_SYSTEM_HEADER, cpp_in_system_header(), CPP_OPTION, DL_ERROR, DL_EXTRACT, DL_ICE, DL_PEDWARN, DL_WARNING, DL_WARNING_P, DL_WARNING_SYSHDR, cpp_reader::errors, fputs(), inhibit_warnings, print_location(), warn_system_headers, and warnings_are_errors.
Referenced by cpp_error(), cpp_error_with_line(), do_diagnostic(), and VPARAMS().
| const unsigned char* _cpp_builtin_macro_text | ( | cpp_reader * | , | |
| cpp_hashnode * | ||||
| ) |
Definition at line 129 of file cppmacro.c.
References _cpp_get_file_stat(), _cpp_unaligned_alloc(), asctime(), BT_BASE_FILE, BT_DATE, BT_FILE, BT_INCLUDE_LEVEL, BT_SPECLINE, BT_STDC, BT_TIME, BT_TIMESTAMP, buf, cpp_hashnode::builtin, CPP_DL_ICE, CPP_DL_WARNING, cpp_errno(), cpp_error(), cpp_get_buffer(), cpp_get_file(), CPP_IN_SYSTEM_HEADER, cpp_in_system_header(), CPP_OPTION, cpp_quote_string(), cpp_reader::cur_token, cpp_reader::date, line_maps::depth, DL_ICE, DL_WARNING, errno, line_maps::highest_line, INCLUDED_FROM, len, cpp_reader::line_table, linemap_lookup(), localtime(), MAIN_FILE_P, map, line_maps::maps, monthnames, NODE_NAME, NULL, result, SOURCE_LINE, sprintf(), stat::st_mtime, str, strcpy, strlen(), time, cpp_reader::time, cpp_buffer::timestamp, line_map::to_file, U, uchar, line_maps::used, and cpp_hashnode::value.
Referenced by builtin_macro(), and push_replacement_text().
| void _cpp_clean_line | ( | cpp_reader * | ) |
Definition at line 103 of file lex.c.
References _cpp_trigraph_map, add_line_note(), cpp_reader::buffer, c, CPP_OPTION, cpp_buffer::cur, cpp_buffer::cur_note, d, cpp_buffer::from_stage3, is_nvspace, cpp_buffer::line_base, cpp_buffer::need_line, cpp_buffer::next_line, cpp_buffer::notes_used, p, cpp_buffer::rlimit, s, and uchar.
| void _cpp_cleanup_files | ( | cpp_reader * | ) |
Definition at line 1012 of file files.c.
References cpp_reader::dir_hash, cpp_reader::file_hash, and htab_delete().
| int _cpp_compare_file_date | ( | cpp_reader * | , | |
| const char * | , | |||
| int | ||||
| ) |
Definition at line 1097 of file files.c.
References _cpp_find_file(), cpp_reader::buffer, close, dir, _cpp_file::err_no, _cpp_file::fd, cpp_buffer::file, IT_INCLUDE, search_path_head(), _cpp_file::st, and stat::st_mtime.
| unsigned char* _cpp_convert_input | ( | cpp_reader * | , | |
| const char * | , | |||
| unsigned char * | , | |||
| size_t | , | |||
| size_t | , | |||
| off_t * | ||||
| ) |
Definition at line 1429 of file charset.c.
References APPLY_CONVERSION, _cpp_strbuf::asize, convert_no_conversion(), convert_using_iconv, CPP_DL_ERROR, cpp_error(), CPP_OPTION, free(), iconv_close, init_iconv_desc(), _cpp_strbuf::len, MAX, SOURCE_CHARSET, _cpp_strbuf::text, uchar, xmalloc(), XNEWVEC, xrealloc(), and XRESIZEVEC.
Referenced by read_file_guts().
| unsigned char* _cpp_copy_replacement_text | ( | const cpp_macro * | , | |
| unsigned char * | ||||
| ) |
Definition at line 784 of file traditional.c.
References block::arg_index, b, BLOCK_LEN, cpp_macro::count, exp, cpp_macro::exp, cpp_macro::fun_like, memcpy, NODE_LEN, NODE_NAME, cpp_macro::paramc, cpp_macro::params, block::text, cpp_macro::text, block::text_len, and uchar.
| bool _cpp_create_definition | ( | cpp_reader * | , | |
| cpp_hashnode * | ||||
| ) |
Definition at line 1546 of file cppmacro.c.
References _cpp_aligned_alloc(), _cpp_create_trad_definition(), _cpp_free_definition(), _cpp_warn_if_unused_macro(), ht::alloc_subobject, cpp_hashnode::arg_index, cpp_reader::buffer, cpp_macro::count, CPP_DL_PEDWARN, cpp_error_with_line(), CPP_OPTION, create_iso_definition(), cpp_reader::cur_token, cpp_reader::directive_line, DL_PEDWARN, DSC, cpp_hashnode::flags, cpp_macro::fun_like, cpp_reader::hash_table, i, cpp_macro::line, cpp_hashnode::macro, cpp_reader::macro_buffer, NODE_BUILTIN, NODE_MACRO_ARG, NODE_NAME, NODE_WARN, NT_MACRO, NT_VOID, NULL, ok(), cpp_macro::paramc, cpp_macro::params, cpp_reader::state, cpp_macro::syshdr, cpp_buffer::sysp, cpp_macro::used, ustrncmp(), lexer_state::va_args_ok, cpp_hashnode::value, cpp_macro::variadic, warn_of_redefinition(), and warn_unused_macros.
Referenced by cpp_read_state(), and do_define().
| bool _cpp_create_trad_definition | ( | cpp_reader * | , | |
| cpp_macro * | ||||
| ) |
Definition at line 1075 of file cpptrad.c.
References _cpp_scan_out_logical_line(), cpp_reader::a_buff, cpp_reader::base, BUFF_FRONT, cpp_reader::buffer, check_output_buffer(), cpp_reader::context, CPP_OPTION, CUR, cur, cpp_buffer::cur, cpp_reader::cur, cpp_macro::fun_like, is_space, NULL, ok(), cpp_reader::out, cpp_macro::paramc, cpp_macro::params, lexer_state::prevent_expansion, RLIMIT, cpp_buffer::rlimit, save_replacement_text(), scan_out_logical_line(), scan_parameters(), skip_whitespace(), cpp_reader::state, and uchar.
Referenced by _cpp_create_definition().
| const char* _cpp_default_encoding | ( | void | ) |
Definition at line 1480 of file charset.c.
References current_encoding, nl_langinfo(), NULL, setlocale, and SOURCE_CHARSET.
| void _cpp_define_builtin | ( | cpp_reader * | , | |
| const char * | ||||
| ) |
| void _cpp_destroy_hashtable | ( | cpp_reader * | ) |
Definition at line 81 of file cpphash.c.
References cpp_reader::hash_ob, cpp_reader::hash_table, ht_destroy(), obstack_free, and cpp_reader::our_hashtable.
| void _cpp_destroy_iconv | ( | cpp_reader * | ) |
Definition at line 708 of file charset.c.
References cset_converter::cd, convert_using_iconv, cset_converter::func, HAVE_ICONV, iconv_close, cpp_reader::narrow_cset_desc, and cpp_reader::wide_cset_desc.
| void _cpp_do__Pragma | ( | cpp_reader * | ) |
Definition at line 1328 of file cpplib.c.
References CPP_DL_ERROR, cpp_error(), destringize_and_run(), cpp_reader::directive_result, DL_ERROR, get__Pragma_string(), cpp_token::str, and cpp_token::val.
Referenced by builtin_macro().
| void _cpp_do_file_change | ( | cpp_reader * | , | |
| enum | lc_reason, | |||
| const char * | , | |||
| unsigned | int, | |||
| unsigned | int | |||
| ) |
Definition at line 916 of file cpplib.c.
References add_line_map(), cpp_reader::cb, cpp_callbacks::file_change, cpp_reader::line_table, linemap_add(), linemap_line_start(), map, NULL, and line_map::to_line.
Referenced by _cpp_pop_buffer(), _cpp_stack_file(), cpp_change_file(), cpp_make_system_header(), do_line(), do_linemarker(), and stack_include_file().
Definition at line 1304 of file lex.c.
References cpp_token::arg_no, cpp_token::flags, cpp_string::len, memcmp, cpp_token::node, SPELL_IDENT, SPELL_LITERAL, SPELL_NONE, SPELL_OPERATOR, cpp_token::str, cpp_string::text, TOKEN_SPELL, and cpp_token::val.
| struct op* _cpp_expand_op_stack | ( | cpp_reader * | ) | [read] |
Definition at line 1007 of file cppexp.c.
References cpp_reader::op_limit, cpp_reader::op_stack, size_t, xrealloc(), and XRESIZEVEC.
Referenced by _cpp_parse_expr().
Definition at line 1069 of file traditional.c.
References block::arg_index, BLOCK_LEN, canonicalize_text(), cpp_macro::count, cpp_macro::exp, free(), memcmp, p1, p2, cpp_macro::paramc, block::text, cpp_macro::text, block::text_len, uchar, xmalloc(), and XNEWVEC.
| void _cpp_extend_buff | ( | cpp_reader * | , | |
| _cpp_buff ** | , | |||
| size_t | ||||
| ) |
Definition at line 2272 of file cpplex.c.
References _cpp_get_buff(), _cpp_buff::base, BUFF_ROOM, _cpp_buff::cur, EXTENDED_BUFF_SIZE, memcpy, new_buff(), _cpp_buff::next, and size.
Referenced by _cpp_save_parameter(), alloc_expansion_token(), parse_answer(), parse_string(), save_replacement_text(), and stringify_arg().
| void _cpp_fake_include | ( | cpp_reader * | , | |
| const char * | ||||
| ) |
Definition at line 224 of file cppfiles.c.
References _cpp_find_file(), cpp_reader::buffer, _cpp_file::dir, cpp_buffer::file, and find_or_create_entry().
Referenced by do_linemarker().
| _cpp_file* _cpp_find_file | ( | cpp_reader * | , | |
| const char * | , | |||
| cpp_dir * | , | |||
| bool | , | |||
| int | ||||
| ) |
Definition at line 394 of file files.c.
References cpp_reader::all_files, cpp_reader::bracket_include, CPP_DL_ERROR, CPP_DL_ICE, cpp_error(), cpp_get_options(), _cpp_file::dir, file_hash_entry::file, cpp_reader::file_hash, find_file_in_dir(), free(), htab_find_slot_with_hash(), htab_hash_string(), INSERT, make_cpp_file(), _cpp_file::name, new_file_hash_entry(), cpp_dir::next, file_hash_entry::next, _cpp_file::next_file, NULL, open_file_failed(), cpp_reader::quote_include, search_cache(), search_path_exhausted(), file_hash_entry::start_dir, and file_hash_entry::u.
Definition at line 2288 of file cpplex.c.
References _cpp_buff::base, free(), _cpp_buff::next, and next.
| void _cpp_free_definition | ( | cpp_hashnode * | ) |
Definition at line 1294 of file cppmacro.c.
References cpp_hashnode::flags, NODE_BUILTIN, NODE_DISABLED, and NT_VOID.
Referenced by _cpp_create_definition(), do_pragma_poison(), do_unassert(), and do_undef().
| _cpp_buff* _cpp_get_buff | ( | cpp_reader * | , | |
| size_t | ||||
| ) |
Definition at line 2222 of file cpplex.c.
References _cpp_buff::base, BUFF_SIZE_UPPER_BOUND, _cpp_buff::cur, cpp_reader::free_buffs, _cpp_buff::limit, new_buff(), _cpp_buff::next, NULL, p, result, and size.
Referenced by _cpp_aligned_alloc(), _cpp_append_extend_buff(), _cpp_extend_buff(), _cpp_unaligned_alloc(), collect_args(), maybe_start_funlike(), replace_args(), replace_args_and_push(), and stringify_arg().
Definition at line 1152 of file files.c.
References _cpp_file::st.
Referenced by _cpp_builtin_macro_text().
| bool _cpp_get_fresh_line | ( | cpp_reader * | ) |
Definition at line 771 of file lex.c.
References _cpp_clean_line(), _cpp_pop_buffer(), cpp_buffer::buf, cpp_reader::buffer, CPP_BUF_COLUMN, CPP_DL_PEDWARN, cpp_error_with_line(), cpp_buffer::cur, cpp_buffer::from_stage3, line_maps::highest_line, lexer_state::in_directive, cpp_reader::line_table, cpp_buffer::need_line, cpp_buffer::next_line, NULL, lexer_state::parsing_args, cpp_buffer::return_at_eof, cpp_buffer::rlimit, and cpp_reader::state.
| int _cpp_handle_directive | ( | cpp_reader * | , | |
| int | ||||
| ) |
Definition at line 345 of file cpplib.c.
References _cpp_backup_tokens(), _cpp_lex_token(), lexer_state::angled_headers, CLK_ASM, COND, CPP_DL_ERROR, CPP_DL_PEDWARN, cpp_error(), CPP_OPTION, CPP_PEDANTIC, cpp_token_as_text(), dir, cpp_reader::directive, directive_diagnostics(), cpp_hashnode::directive_index, lexer_state::directive_wants_padding, lexer_state::discarding_output, DL_ERROR, DL_PEDWARN, end_directive(), directive::flags, directive::handler, IF_COND, IN_I, cpp_reader::mi_valid, cpp_token::node, lexer_state::parsing_args, pedantic, prepare_directive_trad(), PREV_WHITE, lexer_state::prevent_expansion, skip, lexer_state::skipping, start_directive(), cpp_reader::state, and cpp_token::val.
Referenced by _cpp_lex_token(), _cpp_scan_out_logical_line(), and scan_out_logical_line().
| void _cpp_init_directives | ( | cpp_reader * | ) |
Definition at line 1990 of file cpplib.c.
References cpp_lookup(), cpp_hashnode::directive_index, i, int, length, N_DIRECTIVES, and node.
Referenced by _cpp_init_hashtable().
| void _cpp_init_files | ( | cpp_reader * | ) |
Definition at line 1001 of file files.c.
References allocate_file_hash_entries(), cpp_reader::dir_hash, cpp_reader::file_hash, file_hash_eq(), file_hash_hash(), free(), htab_create_alloc(), NULL, and xcalloc().
| void _cpp_init_hashtable | ( | cpp_reader * | , | |
| hash_table * | ||||
| ) |
Definition at line 50 of file cpphash.c.
References _cpp_init_directives(), _cpp_init_internal_pragmas(), _obstack_begin(), alloc_node(), cpp_lookup(), DSC, cpp_hashnode::flags, free(), gcc_obstack_init, cpp_reader::hash_ob, cpp_reader::hash_table, ht_create(), spec_nodes::n__VA_ARGS__, spec_nodes::n_defined, spec_nodes::n_false, spec_nodes::n_true, NODE_DIAGNOSTIC, NULL, cpp_reader::our_hashtable, PARAMS, s, cpp_reader::spec_nodes, void, and xmalloc().
| void _cpp_init_internal_pragmas | ( | cpp_reader * | ) |
Definition at line 1075 of file cpplib.c.
References cpp_register_pragma(), do_pragma_dependency(), do_pragma_once(), do_pragma_poison(), do_pragma_system_header(), register_pragma(), and register_pragma_internal().
Referenced by _cpp_init_hashtable().
Definition at line 791 of file cpplex.c.
References tokenrun::base, tokenrun::limit, tokenrun::next, NULL, xnewvec, and XNEWVEC.
Referenced by next_tokenrun().
| cpp_hashnode* _cpp_interpret_identifier | ( | cpp_reader * | pfile, | |
| const unsigned char * | id, | |||
| size_t | len | |||
| ) |
Definition at line 1531 of file charset.c.
References alloca, buf, CPP_DL_ERROR, cpp_errno(), CPP_HASHNODE, errno, cpp_reader::hash_table, hex_value, HT_ALLOC, ht_lookup(), ISXDIGIT, length, one_cppchar_to_utf8(), and uchar.
Referenced by lex_identifier().
| cpp_token* _cpp_lex_direct | ( | cpp_reader * | ) |
Definition at line 1098 of file cpplex.c.
References _cpp_get_fresh_line(), _cpp_process_line_notes(), _cpp_skip_block_comment(), lexer_state::angled_headers, BACKUP, tokenrun::base, cpp_reader::base_run, BOL, cpp_reader::buffer, cpp_token::c, CLK_GNUC89, cpp_token::col, continue_after_nul(), CPP_BUF_COLUMN, CPP_DL_ERROR, CPP_DL_PEDWARN, CPP_DL_WARNING, cpp_error(), CPP_IN_SYSTEM_HEADER, cpp_in_system_header(), CPP_INCREMENT_LINE, CPP_OPTION, CPP_PEDANTIC, create_literal(), cpp_buffer::cur, cpp_buffer::cur_note, cpp_reader::cur_run, cpp_reader::cur_token, DIGRAPH, cpp_hashnode::directive_index, DL_ERROR, DL_PEDWARN, DL_WARNING, dollars_in_ident, cpp_token::flags, cpp_hashnode::flags, forms_identifier_p(), get_effective_char(), handle_newline(), line_maps::highest_line, HT_ALLOC, ht_lookup(), IF_NEXT_IS, lexer_state::in_deferred_pragma, lexer_state::in_directive, INITIAL_NORMALIZE_STATE, ISDIGIT, cpp_reader::keep_tokens, lex_identifier(), lex_number(), lex_string, cpp_token::line, cpp_reader::line_table, LINEMAP_POSITION_FOR_COLUMN, NAMED_OP, cpp_buffer::need_line, cpp_token::node, NODE_OPERATOR, cpp_buffer::notes, cpp_hashnode::operator, cpp_reader::overlaid_buffer, parse_identifier(), parse_number(), parse_string(), lexer_state::parsing_args, _cpp_line_note::pos, pos(), lexer_state::pragma_allow_expansion, PREV_WHITE, lexer_state::prevent_expansion, result, cpp_buffer::rlimit, save_comment(), lexer_state::save_comments, cpp_buffer::saved_flags, skip_block_comment(), skip_escaped_newlines(), skip_line_comment(), skip_whitespace(), cpp_reader::state, cpp_token::str, TRUE, uchar, cpp_token::val, cpp_hashnode::value, warn_about_normalization(), warn_comments, and cpp_buffer::warned_cplusplus_comments.
Referenced by _cpp_lex_token(), builtin_macro(), lex_expansion_token(), and paste_tokens().
| const cpp_token* _cpp_lex_token | ( | cpp_reader * | ) |
Definition at line 931 of file cpplex.c.
References _cpp_handle_directive(), _cpp_lex_direct(), tokenrun::base, BOL, cpp_reader::cb, cpp_reader::cur_run, cpp_reader::cur_token, cpp_reader::directive_result, cpp_token::flags, lexer_state::in_deferred_pragma, lexer_state::in_directive, tokenrun::limit, cpp_callbacks::line_change, cpp_reader::lookaheads, cpp_reader::mi_valid, next_tokenrun(), OPTIONS, lexer_state::parsing_args, PREV_WHITE, result, lexer_state::skipping, cpp_reader::state, and TRUE.
Referenced by _cpp_handle_directive(), check_eol(), check_eol_return_comments(), cpp_get_token(), create_iso_definition(), do_pragma_poison(), lex_macro_node(), parse_params(), read_flag(), and skip_rest_of_line().
| void _cpp_mark_file_once_only | ( | cpp_reader * | , | |
| struct _cpp_file * | ||||
| ) |
Definition at line 740 of file files.c.
References _cpp_file::once_only, and cpp_reader::seen_once_only.
Referenced by do_pragma_once(), and should_stack_file().
| void _cpp_maybe_push_include_file | ( | cpp_reader * | ) |
| void _cpp_overlay_buffer | ( | cpp_reader * | pfile, | |
| const unsigned char * | , | |||
| size_t | ||||
| ) |
Definition at line 331 of file cpptrad.c.
References cpp_reader::buffer, cpp_buffer::cur, cpp_buffer::line_base, cpp_buffer::need_line, cpp_buffer::next_line, cpp_reader::overlaid_buffer, cpp_buffer::rlimit, cpp_reader::saved_cur, cpp_buffer::saved_cur, cpp_reader::saved_line_base, cpp_buffer::saved_rlimit, and cpp_reader::saved_rlimit.
Referenced by continue_after_nul(), and prepare_directive_trad().
| bool _cpp_parse_expr | ( | cpp_reader * | ) |
Definition at line 711 of file cppexp.c.
References _cpp_expand_op_stack(), cpp_token::c, CPP_DL_ICE, cpp_error(), cpp_get_token(), cpp_token_as_text(), CPP_UMINUS, CPP_UPLUS, DL_ICE, eval_token(), operator::flags, ISGRAPH, cpp_reader::mi_ind_cmacro, NO_L_OPERAND, num_zerop, op::op, cpp_reader::op_limit, cpp_reader::op_stack, optab, reduce(), lexer_state::skip_eval, cpp_reader::state, SYNTAX_ERROR, SYNTAX_ERROR2, op::token, top, cpp_token::val, and op::value.
| void _cpp_pop_buffer | ( | cpp_reader * | ) |
Definition at line 1948 of file cpplib.c.
References _cpp_do_file_change(), _cpp_maybe_push_include_file(), _cpp_pop_file_buffer(), cpp_reader::buffer, cpp_reader::buffer_ob, CPP_DL_ERROR, cpp_error_with_line(), DL_ERROR, cpp_buffer::file, free(), cpp_buffer::if_stack, cpp_buffer::inc, LC_LEAVE, if_stack::line, directive::name, if_stack::next, cpp_buffer::notes, obstack_free, cpp_buffer::prev, lexer_state::skipping, cpp_reader::state, and if_stack::type.
Referenced by _cpp_get_fresh_line(), _cpp_read_logical_line_trad(), builtin_macro(), continue_after_nul(), cpp_read_state(), destringize_and_run(), paste_tokens(), and run_directive().
| void _cpp_pop_context | ( | cpp_reader * | ) |
Definition at line 1083 of file cppmacro.c.
References _cpp_release_buff(), cpp_context::buff, cpp_reader::context, cpp_hashnode::flags, cpp_context::macro, NODE_DISABLED, and cpp_context::prev.
Referenced by _cpp_scan_out_logical_line(), cpp_get_token(), expand_arg(), scan_out_logical_line(), and skip_rest_of_line().
| void _cpp_pop_file_buffer | ( | cpp_reader * | , | |
| struct _cpp_file * | ||||
| ) |
Definition at line 1131 of file files.c.
References _cpp_file::buffer, _cpp_file::buffer_valid, _cpp_file::cmacro, free(), cpp_reader::mi_cmacro, cpp_reader::mi_valid, and NULL.
| void _cpp_process_line_notes | ( | cpp_reader * | , | |
| int | ||||
| ) |
Definition at line 255 of file lex.c.
References _cpp_trigraph_map, abort, cpp_reader::buffer, col, CPP_BUF_COLUMN, CPP_DL_PEDWARN, CPP_DL_WARNING, cpp_error_with_line(), CPP_INCREMENT_LINE, CPP_OPTION, cpp_buffer::cur, cpp_buffer::cur_note, line_maps::highest_line, cpp_buffer::line_base, cpp_reader::line_table, cpp_buffer::next_line, cpp_buffer::notes, _cpp_line_note::pos, cpp_buffer::rlimit, _cpp_line_note::type, and warn_in_comment().
| void _cpp_push_text_context | ( | cpp_reader * | , | |
| cpp_hashnode * | , | |||
| const unsigned char * | , | |||
| size_t | ||||
| ) |
Definition at line 1012 of file cppmacro.c.
References cpp_context::buff, CUR, cpp_context::direct_p, cpp_hashnode::flags, cpp_context::macro, next_context(), NODE_DISABLED, NULL, and RLIMIT.
Referenced by push_replacement_text(), and replace_args_and_push().
| void _cpp_push_token_context | ( | cpp_reader * | , | |
| cpp_hashnode * | , | |||
| const cpp_token * | , | |||
| unsigned | int | |||
| ) |
Definition at line 973 of file macro.c.
References cpp_context::buff, cpp_context::direct_p, FIRST, LAST, cpp_context::macro, next_context(), and NULL.
Referenced by builtin_macro(), destringize_and_run(), do_pragma(), enter_macro_context(), funlike_invocation_p(), and paste_all_tokens().
| bool _cpp_read_file_entries | ( | cpp_reader * | , | |
| FILE * | ||||
| ) |
| bool _cpp_read_logical_line_trad | ( | cpp_reader * | ) |
Definition at line 364 of file cpptrad.c.
References _cpp_get_fresh_line(), _cpp_pop_buffer(), _cpp_scan_out_logical_line(), cpp_reader::buffer, cpp_buffer::need_line, NULL, scan_out_logical_line(), lexer_state::skipping, and cpp_reader::state.
Referenced by continue_after_nul(), cpp_scan_nooutput(), prepare_directive_trad(), and scan_translation_unit_trad().
| void _cpp_release_buff | ( | cpp_reader * | , | |
| _cpp_buff * | ||||
| ) |
Definition at line 2208 of file cpplex.c.
References end, cpp_reader::free_buffs, and _cpp_buff::next.
Referenced by _cpp_pop_context(), _cpp_scan_out_logical_line(), collect_args(), enter_macro_context(), maybe_start_funlike(), scan_out_logical_line(), and stringify_arg().
| void _cpp_remove_overlay | ( | cpp_reader * | ) |
Definition at line 350 of file cpptrad.c.
References cpp_buffer::cur, cpp_buffer::line_base, cpp_buffer::need_line, NULL, cpp_reader::overlaid_buffer, cpp_buffer::rlimit, cpp_reader::saved_cur, cpp_buffer::saved_cur, cpp_reader::saved_line_base, cpp_buffer::saved_rlimit, and cpp_reader::saved_rlimit.
Referenced by continue_after_nul(), and end_directive().
Definition at line 754 of file traditional.c.
References block::arg_index, b, BLOCK_LEN, cpp_macro::count, exp, cpp_macro::exp, cpp_macro::fun_like, len, NODE_LEN, cpp_macro::paramc, cpp_macro::params, cpp_macro::text, block::text_len, and uchar.
| void _cpp_report_missing_guards | ( | cpp_reader * | ) |
Definition at line 647 of file cppfiles.c.
References cpp_reader::file_hash, htab_traverse(), PTR, report_missing_guard(), and splay_tree_foreach().
| void _cpp_restore_pragma_names | ( | cpp_reader * | , | |
| char ** | ||||
| ) |
Definition at line 1148 of file directives.c.
References free(), cpp_reader::pragmas, restore_registered_pragmas(), and void.
Referenced by cpp_read_state().
| bool _cpp_save_file_entries | ( | cpp_reader * | pfile, | |
| FILE * | f | |||
| ) |
Definition at line 1435 of file files.c.
References cpp_reader::all_files, _cpp_file::buffer, _cpp_file::buffer_valid, pchf_data::count, count, _cpp_file::dont_read, pchf_data::entries, _cpp_file::err_no, f, fclose(), _cpp_file::fd, fdopen, fwrite, pchf_data::have_once_only, md5_buffer(), md5_stream(), _cpp_file::next_file, pchf_data::pchf_entry::once_only, _cpp_file::once_only, open_file(), open_file_failed(), pchf_save_compare(), qsort(), result, pchf_data::pchf_entry::size, _cpp_file::st, stat::st_size, _cpp_file::stack_count, pchf_data::pchf_entry::sum, xcalloc(), and XCNEWVAR.
Referenced by cpp_write_pch_state().
| bool _cpp_save_parameter | ( | cpp_reader * | , | |
| cpp_macro * | , | |||
| cpp_hashnode * | ||||
| ) |
Definition at line 1306 of file cppmacro.c.
References _cpp_extend_buff(), cpp_reader::a_buff, cpp_hashnode::arg_index, BUFF_FRONT, BUFF_ROOM, CPP_DL_ERROR, cpp_error(), DL_ERROR, cpp_hashnode::flags, len, cpp_reader::macro_buffer, cpp_reader::macro_buffer_len, NODE_MACRO_ARG, NODE_NAME, cpp_macro::paramc, cpp_hashnode::value, xrealloc(), and XRESIZEVEC.
Referenced by parse_params(), and scan_parameters().
| char** _cpp_save_pragma_names | ( | cpp_reader * | ) |
Definition at line 1119 of file directives.c.
References count_registered_pragmas(), cpp_reader::pragmas, result, save_registered_pragmas(), void, and XNEWVEC.
Referenced by cpp_prepare_state().
| bool _cpp_scan_out_logical_line | ( | cpp_reader * | , | |
| cpp_macro * | ||||
| ) |
Definition at line 343 of file traditional.c.
References _cpp_arguments_ok(), _cpp_get_fresh_line(), _cpp_handle_directive(), _cpp_pop_context(), _cpp_process_line_notes(), _cpp_release_buff(), lexer_state::angled_headers, cpp_hashnode::arg_index, fun_macro::argc, fun_macro::args, cpp_reader::base, fun_macro::buff, cpp_reader::buffer, c, check_output_buffer(), CLK_ASM, cpp_reader::context, copy_comment(), CPP_DL_ERROR, cpp_error_with_line(), CPP_INCREMENT_LINE, CPP_OPTION, CUR, cur, cpp_buffer::cur, cpp_reader::cur, cpp_buffer::cur_note, cpp_reader::first_line, cpp_hashnode::flags, cpp_macro::fun_like, line_maps::highest_line, lexer_state::in_directive, lexer_state::in_expression, is_idstart, is_numstart, lex_identifier(), fun_macro::line, cpp_reader::line_table, ls_answer, ls_defined, ls_defined_close, ls_fun_close, ls_fun_open, ls_hash, ls_none, ls_predicate, cpp_hashnode::macro, maybe_start_funlike(), cpp_reader::mi_valid, spec_nodes::n_defined, cpp_buffer::need_line, node, fun_macro::node, NODE_BUILTIN, NODE_MACRO_ARG, NODE_NAME, cpp_buffer::notes, NT_MACRO, NULL, fun_macro::offset, cpp_reader::out, out, cpp_macro::paramc, _cpp_line_note::pos, cpp_context::prev, lexer_state::prevent_expansion, push_replacement_text(), quote, recursive_macro(), replace_args_and_push(), result, RLIMIT, cpp_buffer::rlimit, save_argument(), save_replacement_text(), skip_whitespace(), lexer_state::skipping, cpp_reader::spec_nodes, cpp_reader::state, uchar, cpp_macro::used, and cpp_hashnode::value.
| bool _cpp_skip_block_comment | ( | cpp_reader * | ) |
Definition at line 317 of file lex.c.
References _cpp_clean_line(), _cpp_process_line_notes(), cpp_reader::buffer, c, CPP_BUF_COL, CPP_DL_WARNING, cpp_error_with_line(), CPP_INCREMENT_LINE, CPP_OPTION, cur, cpp_buffer::cur, line_maps::highest_line, cpp_buffer::line_base, cpp_reader::line_table, cpp_buffer::next_line, cpp_buffer::rlimit, uchar, and warn_comments.
| bool _cpp_stack_file | ( | cpp_reader * | , | |
| _cpp_file * | , | |||
| bool | ||||
| ) |
Definition at line 698 of file files.c.
References _cpp_do_file_change(), cpp_reader::buffer, _cpp_file::buffer, _cpp_file::buffer_valid, CPP_OPTION, cpp_push_buffer(), cpp_reader::deps, deps_add_dep(), _cpp_file::dir, cpp_buffer::file, LC_ENTER, _cpp_file::main_file, MAX, cpp_reader::mi_cmacro, cpp_reader::mi_valid, NULL, _cpp_file::path, should_stack_file(), _cpp_file::st, stat::st_size, _cpp_file::stack_count, cpp_dir::sysp, and cpp_buffer::sysp.
Referenced by _cpp_stack_include().
| bool _cpp_stack_include | ( | cpp_reader * | , | |
| const char * | , | |||
| int | , | |||
| enum | include_type | |||
| ) |
Definition at line 809 of file files.c.
References _cpp_find_file(), _cpp_stack_file(), dir, _cpp_file::err_no, line_maps::highest_location, IT_CMDLINE, IT_IMPORT, cpp_reader::line_table, _cpp_file::pch, and search_path_head().
Referenced by cpp_push_include(), and do_include_common().
| cpp_token* _cpp_temp_token | ( | cpp_reader * | ) |
Definition at line 820 of file cpplex.c.
References tokenrun::base, cpp_token::col, cpp_reader::cur_run, cpp_reader::cur_token, tokenrun::limit, cpp_token::line, next_tokenrun(), and result.
Referenced by builtin_macro(), cpp_get_token(), glue_header_name(), new_string_token(), padding_token(), paste_tokens(), and replace_args().
| int _cpp_test_assertion | ( | cpp_reader * | , | |
| unsigned int * | ||||
| ) |
Definition at line 1688 of file cpplib.c.
References _cpp_backup_tokens(), cpp_reader::cur_token, find_answer(), node, NT_ASSERTION, parse_assertion(), and T_IF.
Referenced by eval_token().
| unsigned char* _cpp_unaligned_alloc | ( | cpp_reader * | , | |
| size_t | ||||
| ) |
Definition at line 2302 of file cpplex.c.
References _cpp_get_buff(), _cpp_buff::cur, _cpp_buff::limit, _cpp_buff::next, result, and cpp_reader::u_buff.
Referenced by _cpp_builtin_macro_text(), cpp_token_as_text(), create_literal(), dequote_string(), do_pragma(), glue_header_name(), lex_number(), parse_number(), push_replacement_text(), save_comment(), and save_replacement_text().
| cppchar_t _cpp_valid_ucn | ( | cpp_reader * | , | |
| const unsigned char ** | , | |||
| const unsigned char * | , | |||
| int | , | |||
| struct normalize_state * | state | |||
| ) |
Definition at line 938 of file charset.c.
References base, c, CPP_DL_ERROR, CPP_DL_ICE, CPP_DL_PEDWARN, CPP_DL_WARNING, cpp_error(), CPP_OPTION, CPP_WTRADITIONAL, dollars_in_ident, hex_value, ISXDIGIT, length, NORMALIZE_STATE_UPDATE_IDNUM, result, lexer_state::skipping, cpp_reader::state, str, uchar, and ucn_valid_in_identifier().
| int _cpp_warn_if_unused_macro | ( | cpp_reader * | , | |
| cpp_hashnode * | , | |||
| void * | ||||
| ) |
| static int cpp_in_system_header | ( | cpp_reader * | pfile | ) | [inline, static] |
| static int ufputs | ( | const unsigned char * | s, | |
| FILE * | f | |||
| ) | [inline, static] |
| static unsigned char * ustrchr | ( | const unsigned char * | s1, | |
| int | c | |||
| ) | [inline, static] |
| static int ustrcmp | ( | const unsigned char * | s1, | |
| const unsigned char * | s2 | |||
| ) | [inline, static] |
| static int ustrcspn | ( | const unsigned char * | s1, | |
| const char * | s2 | |||
| ) | [inline, static] |
| static size_t ustrlen | ( | const unsigned char * | s1 | ) | [inline, static] |
| static int ustrncmp | ( | const unsigned char * | s1, | |
| const unsigned char * | s2, | |||
| size_t | n | |||
| ) | [inline, static] |
| static unsigned char * uxstrdup | ( | const unsigned char * | s1 | ) | [inline, static] |
| unsigned char _cpp_trigraph_map[UCHAR_MAX+1] |
1.5.6