#include "config.h"#include "system.h"#include "real.h"#include "rtl.h"#include "tree.h"#include "expr.h"#include "input.h"#include "output.h"#include "c-tree.h"#include "c-common.h"#include "flags.h"#include "timevar.h"#include "cpplib.h"#include "c-pragma.h"#include "toplev.h"#include "intl.h"#include "tm_p.h"#include "splay-tree.h"#include "debug.h"

Go to the source code of this file.
Defines | |
| #define | WCHAR_TYPE_SIZE TYPE_PRECISION (wchar_type_node) |
| #define | WCHAR_BYTES (WCHAR_TYPE_SIZE / BITS_PER_UNIT) |
Functions/Subroutines | |
| static tree interpret_integer | PARAMS ((const cpp_token *, unsigned int)) |
| static enum integer_type_kind narrowest_unsigned_type | PARAMS ((tree, unsigned int)) |
| static tree lex_string | PARAMS ((const unsigned char *, unsigned int, int)) |
| static tree lex_charconst | PARAMS ((const cpp_token *)) |
| static void update_header_times | PARAMS ((const char *)) |
| static int dump_one_header | PARAMS ((splay_tree_node, void *)) |
| static void cb_line_change | PARAMS ((cpp_reader *, const cpp_token *, int)) |
| static void cb_ident | PARAMS ((cpp_reader *, unsigned int, const cpp_string *)) |
| static void cb_file_change | PARAMS ((cpp_reader *, const struct line_map *)) |
| static void cb_def_pragma | PARAMS ((cpp_reader *, unsigned int)) |
| static void cb_define | PARAMS ((cpp_reader *, unsigned int, cpp_hashnode *)) |
| const char * | init_c_lex (char *filename) const |
| void | c_common_parse_file (set_yydebug) |
| struct c_fileinfo * | get_fileinfo (char *name) const |
| static void | update_header_times (char *name) const |
| static int | dump_one_header (splay_tree_node n, dummy) |
| void | dump_time_statistics () |
| static void | cb_ident (pfile, line, str) |
| static void | cb_line_change (pfile, const cpp_token *token, int parsing_args) |
| static void | cb_file_change (pfile, const struct line_map *new_map) |
| static void | cb_def_pragma (cpp_reader *pfile, unsigned int line) |
| static void | cb_define (cpp_reader *pfile, unsigned int line, cpp_hashnode *node) |
| static void | cb_undef (pfile, unsigned int line, cpp_hashnode *node) |
| int | c_lex (tree *value) |
| static enum integer_type_kind | narrowest_unsigned_type (tree value, unsigned int flags) |
| static enum integer_type_kind | narrowest_signed_type (tree value, unsigned int flags) |
| static tree | interpret_integer (cpp_token *token, unsigned int flags) const |
| static tree | interpret_float (cpp_token *token, unsigned int flags) const |
| static tree | lex_string (unsigned char *str, unsigned int len, int wide) const |
| static tree | lex_charconst (cpp_token *token) const |
Variables | |
| static struct line_map * | map |
| static unsigned int | src_lineno |
| static int | header_time |
| static int | body_time |
| static splay_tree | file_info_tree |
| FILE * | asm_out_file |
| int | pending_lang_change |
| int | c_header_level |
| static int | ignore_escape_flag |
| #define WCHAR_BYTES (WCHAR_TYPE_SIZE / BITS_PER_UNIT) |
| void c_common_parse_file | ( | set_yydebug | ) |
Definition at line 157 of file c-lex.c.
References debug_hooks, input_filename, lineno, parse_in, gcc_debug_hooks::start_source_file, warning, yydebug, and yyparse.
| int c_lex | ( | tree * | value | ) |
Definition at line 707 of file c-lex.c.
Referenced by c4x_parse_pragma(), c_common_pch_pragma(), darwin_pragma_options(), darwin_pragma_unused(), ghs_pragma_endsda(), ghs_pragma_endtda(), ghs_pragma_endzda(), ghs_pragma_interrupt(), ghs_pragma_section(), ghs_pragma_startsda(), ghs_pragma_starttda(), ghs_pragma_startzda(), handle_pragma_freq_hint(), handle_pragma_java_exceptions(), handle_pragma_visibility(), handle_pragma_weak(), i960_pr_align(), i960_pr_noalign(), ia64_hpux_handle_builtin_pragma(), parse_strconst_pragma(), read_token(), rs6000_pragma_longcall(), solaris_pragma_align(), solaris_pragma_fini(), solaris_pragma_init(), and yylexstring().
| static void cb_def_pragma | ( | cpp_reader * | pfile, | |
| unsigned int | line | |||
| ) | [static] |
Definition at line 341 of file c-lex.c.
References cpp_get_token(), cpp_token_as_text(), in_system_header, lineno, s, SOURCE_LINE, warn_unknown_pragmas, and warning.
Referenced by init_c_lex(), init_pp_output(), and setup_callbacks().
| static void cb_define | ( | cpp_reader * | pfile, | |
| unsigned int | line, | |||
| cpp_hashnode * | node | |||
| ) | [static] |
Definition at line 370 of file c-lex.c.
References cpp_macro_definition(), debug_hooks, gcc_debug_hooks::define, and SOURCE_LINE.
Referenced by init_c_lex(), init_pp_output(), and setup_callbacks().
Definition at line 277 of file c-lex.c.
References c_header_level, debug_hooks, gcc_debug_hooks::end_source_file, extract_interface_info(), line_map::from_line, in_system_header, input_filename, LC_ENTER, LC_LEAVE, lineno, main_input_filename, NULL, pending_lang_change, pop_srcloc(), push_srcloc(), SOURCE_LINE, gcc_debug_hooks::start_source_file, line_map::sysp, line_map::to_file, line_map::to_line, update_header_times(), warning, and WFE_Set_Line_And_File().
Referenced by c_common_post_options(), finish_options(), init_c_lex(), read_scan_file(), and setup_callbacks().
Definition at line 239 of file c-lex.c.
References asm_out_file, ASM_OUTPUT_IDENT, flag_no_ident, lex_string, str, and TREE_STRING_POINTER.
Referenced by init_c_lex(), init_pp_output(), and setup_callbacks().
Definition at line 261 of file c-lex.c.
References input_filename, cpp_token::line, lineno, SOURCE_LINE, src_lineno, and WFE_Set_Line_And_File().
Referenced by init_c_lex(), init_pp_output(), and setup_callbacks().
| static void cb_undef | ( | pfile | , | |
| unsigned int | line, | |||
| cpp_hashnode * | node | |||
| ) | [static] |
Definition at line 381 of file c-lex.c.
References debug_hooks, NODE_NAME, SOURCE_LINE, and gcc_debug_hooks::undef.
Referenced by init_c_lex(), init_pp_output(), and setup_callbacks().
| static int dump_one_header | ( | splay_tree_node | n, | |
| dummy | ||||
| ) | [static] |
Definition at line 212 of file c-lex.c.
References print_time().
Referenced by dump_time_statistics().
| struct c_fileinfo* get_fileinfo | ( | char * | name | ) | const [read] |
Definition at line 176 of file c-lex.c.
References c_fileinfo::interface_only, c_fileinfo::interface_unknown, n, splay_tree_insert(), splay_tree_lookup(), c_fileinfo::time, splay_tree_node_s::value, and xmalloc().
Referenced by begin_class_definition(), cxx_make_type(), dump_time_statistics(), extract_interface_info(), handle_pragma_interface(), init_c_lex(), make_rtl_for_nonlocal_decl(), start_preparsed_function(), and update_header_times().
| const char* init_c_lex | ( | char * | filename | ) | const |
Definition at line 105 of file c-lex.c.
References body_time, cb_def_pragma(), cb_define(), cb_file_change(), cb_ident(), cb_line_change(), cb_undef(), cpp_get_callbacks(), cpp_read_main_file(), cpp_callbacks::def_pragma, cpp_callbacks::define, DINFO_LEVEL_VERBOSE, DWARF2_DEBUG, DWARF_DEBUG, cpp_callbacks::file_change, flag_detailed_statistics, free(), GET_ENVIRONMENT, get_fileinfo(), get_run_time(), header_time, cpp_callbacks::ident, ident_hash, cpp_callbacks::line_change, lineno, parse_in, setlocale, splay_tree_new(), strcmp(), c_fileinfo::time, cpp_callbacks::undef, VMS_AND_DWARF2_DEBUG, and write_symbols.
Referenced by c_common_init(), and c_common_post_options().
Definition at line 937 of file c-lex.c.
References alloca, build_complex(), build_real(), convert(), copy, CPP_N_IMAGINARY, CPP_N_LARGE, CPP_N_MEDIUM, CPP_N_SMALL, CPP_N_WIDTH, double_type_node, flag_single_precision_constant, float_type_node, integer_zero_node, long_double_type_node, memcpy, NULL_TREE, pedantic, real_convert(), real_from_string(), REAL_VALUE_ISINF, REAL_VALUE_TYPE, TYPE_MODE, and warning.
Referenced by c_lex(), and c_lex_with_flags().
Definition at line 857 of file c-lex.c.
References build_complex(), build_int_2_wide(), convert(), cpp_get_options(), cpp_interpret_integer(), CPP_N_DECIMAL, CPP_N_IMAGINARY, CPP_N_LARGE, CPP_N_RADIX, CPP_N_UNSIGNED, CPP_N_WIDTH, cpp_num_sign_extend(), flag_isoc99, cpp_num::high, in_system_header, integer_types, integer_zero_node, itk_long, itk_none, itk_unsigned_long, cpp_num::low, MIN, narrowest_signed_type(), narrowest_unsigned_type(), NULL_TREE, parse_in, pedwarn(), cpp_options::precision, TREE_TYPE, warn_traditional, warning, widest_integer_literal_type_node, and widest_unsigned_literal_type_node.
Referenced by c_lex(), and c_lex_with_flags().
Definition at line 1104 of file c-lex.c.
References build_int_2, c_language, char_type_node, clk_c, cpp_interpret_charconst(), integer_type_node, parse_in, result, TREE_TYPE, and wchar_type_node.
Referenced by c_lex(), and c_lex_with_flags().
| static tree lex_string | ( | unsigned char * | str, | |
| unsigned int | len, | |||
| int | wide | |||
| ) | const [static] |
Definition at line 1001 of file c-lex.c.
References alloca, buf, build_string(), BYTES_BIG_ENDIAN, char_array_type_node, char_type_node, cpp_parse_escape(), ignore_escape_flag, memset, n, NULL, p, parse_in, q, TREE_TYPE, TYPE_PRECISION, void, warning, wchar_array_type_node, and WCHAR_BYTES.
| static enum integer_type_kind narrowest_signed_type | ( | tree | value, | |
| unsigned int | flags | |||
| ) | [static] |
Definition at line 831 of file c-lex.c.
References CPP_N_MEDIUM, CPP_N_SMALL, CPP_N_WIDTH, int_fits_type_p(), integer_types, itk_int, itk_long, itk_long_long, itk_none, TREE_TYPE, and widest_unsigned_literal_type_node.
Referenced by interpret_integer().
| static enum integer_type_kind narrowest_unsigned_type | ( | tree | value, | |
| unsigned int | flags | |||
| ) | [static] |
Definition at line 805 of file c-lex.c.
References CPP_N_MEDIUM, CPP_N_SMALL, CPP_N_WIDTH, int_fits_type_p(), integer_types, itk_none, itk_unsigned_int, itk_unsigned_long, itk_unsigned_long_long, TREE_TYPE, and widest_unsigned_literal_type_node.
Referenced by interpret_integer().
| static void cb_define PARAMS | ( | (cpp_reader *, unsigned int, cpp_hashnode *) | ) | [static] |
| static void cb_def_pragma PARAMS | ( | (cpp_reader *, unsigned int) | ) | [static] |
| static void cb_file_change PARAMS | ( | (cpp_reader *, const struct line_map *) | ) | [static] |
| static void cb_ident PARAMS | ( | (cpp_reader *, unsigned int, const cpp_string *) | ) | [static] |
| static void cb_line_change PARAMS | ( | (cpp_reader *, const cpp_token *, int) | ) | [static] |
| static int dump_one_header PARAMS | ( | (splay_tree_node, void *) | ) | [static] |
| static void update_header_times PARAMS | ( | (const char *) | ) | [static] |
Definition at line 635 of file mips-tfile.c.
| static tree lex_string PARAMS | ( | (const unsigned char *, unsigned int, int) | ) | [static] |
| static enum integer_type_kind narrowest_unsigned_type PARAMS | ( | (tree, unsigned int) | ) | [static] |
| static void update_header_times | ( | char * | name | ) | const [static] |
Definition at line 196 of file c-lex.c.
References body_time, flag_detailed_statistics, get_fileinfo(), get_run_time(), header_time, and c_fileinfo::time.
Referenced by cb_file_change(), and fe_file_change().
Definition at line 1724 of file toplev.c.
Referenced by a29k_asm_named_section(), alpha_file_start(), app_disable(), app_enable(), arc_assemble_integer(), arc_file_start(), arm_assemble_integer(), arm_elf_asm_constructor(), arm_file_end(), arm_output_epilogue(), arm_output_function_epilogue(), asm_emit_uninitialised(), asm_fprintf(), assemble_alias(), assemble_align(), assemble_asm(), assemble_constant_align(), assemble_constant_contents(), assemble_end_function(), assemble_external(), assemble_external_libcall(), assemble_integer_with_op(), assemble_label(), assemble_start_function(), assemble_static_space(), assemble_string(), assemble_variable(), assemble_variable_contents(), assemble_vtable_entry(), assemble_vtable_inherit(), assemble_zeros(), avr_asm_out_ctor(), avr_asm_out_dtor(), avr_assemble_integer(), avr_file_end(), avr_file_start(), avr_output_progmem_section_asm_op(), bfin_assemble_integer(), build_mips16_call_stub(), build_mips16_function_stub(), c4x_asm_named_section(), c4x_file_end(), c4x_file_start(), c_common_read_pch(), c_common_write_pch(), cb_ident(), clipper_movstr(), clix_asm_out_constructor(), collect2_eh_frame_section(), cris_setup_incoming_varargs(), darwin_asm_named_section(), darwin_assemble_visibility(), darwin_file_end(), darwin_file_start(), darwin_mark_decl_preserved(), data_section(), default_assemble_visibility(), default_coff_asm_named_section(), default_eh_frame_section(), default_elf_asm_named_section(), default_external_libcall(), default_file_start(), default_pe_asm_named_section(), default_stabs_asm_out_constructor(), default_stabs_asm_out_destructor(), do_assemble_alias(), double_reg_from_memory(), double_reg_to_memory(), dw2_asm_output_addr(), dw2_asm_output_addr_rtx(), dw2_asm_output_data(), dw2_asm_output_data_sleb128(), dw2_asm_output_data_uleb128(), dw2_asm_output_delta(), dw2_asm_output_delta_uleb128(), dw2_asm_output_encoded_addr_rtx(), dw2_asm_output_nstring(), dw2_asm_output_offset(), dw2_assemble_integer(), dw2_output_indirect_constant_1(), elxsi_assemble_integer(), emit_a_shift(), emit_common(), emit_local(), emit_pic_helper(), emit_safe_across_calls(), emit_tls_common(), ffelex_hash_(), final_end_function(), final_prescan_insn(), final_scan_insn(), frv_assemble_integer(), frv_final_prescan_insn(), globalize_decl(), GTY(), h8300_asm_named_section(), h8300_file_end(), h8300_file_start(), handle_class_ref(), handle_impent(), i386_pe_asm_named_section(), i386_pe_file_end(), i386_solaris_elf_named_section(), i860_file_start(), ia64_assemble_integer(), ia64_hpux_file_end(), ia64_initialize_trampoline(), ix86_file_end(), load_pic_register(), m32c_asm_integer(), m32r_file_start(), m68hc11_asm_out_constructor(), m68hc11_asm_out_destructor(), m68hc11_file_start(), m68k_coff_asm_named_section(), machopic_asm_out_constructor(), machopic_asm_out_destructor(), machopic_output_indirection(), make_decl_rtl(), mcore_expand_prolog(), mcore_external_libcall(), mcore_output_call(), mcore_output_jump_label_table(), mcore_print_operand(), mergeable_string_section(), mips_assemble_integer(), mips_file_end(), mips_file_start(), mips_output_conditional_branch(), mips_output_function_epilogue(), mmix_assemble_integer(), mmix_file_start(), mn10300_file_start(), nextstep_asm_out_constructor(), nextstep_asm_out_destructor(), output_270(), output_272(), output_681(), output_854(), output_a_shift(), output_address(), output_arg_descriptor(), output_asm_insn(), output_asm_label(), output_asm_name(), output_asm_operand_names(), output_block_move(), output_branch(), output_call(), output_cbranch(), output_constant(), output_constant_def_contents(), output_constant_pool(), output_constant_pool_1(), output_constructor(), output_deferred_plabels(), output_far_jump(), output_file_start(), output_func_start_profiler(), output_function_exception_table(), output_indirect_call(), output_jump_label_table(), output_label(), output_lbranch(), output_millicode_call(), output_move_himode(), output_operand(), output_pic_addr_const(), output_restore(), output_return(), output_scc_di(), output_section_asm_op(), output_set_got(), output_shift(), output_sibcall(), pa_assemble_integer(), pa_file_start_file(), pa_file_start_mcount(), pa_hpux64_gas_file_start(), pch_init(), pdp11_assemble_integer(), pj_expand_prologue(), pj_output_rval(), pj_print_cond(), print_slot(), process_epilogue(), readonly_data_section(), rest_of_decl_compilation(), rest_of_handle_final(), rs6000_assemble_integer(), rs6000_file_start(), s390_assemble_integer(), sh_asm_named_section(), sh_file_start(), sparc_output_addr_diff_vec(), sparc_output_addr_vec(), sparc_output_deferred_case_vectors(), text_section(), th_asm_file_end(), th_asm_file_start(), thumb_final_prescan_insn(), thumb_load_double_from_address(), thumb_unexpanded_epilogue(), unlikely_text_section(), use_thunk(), vax_file_start(), VEC(), VPARAMS(), weak_finish(), weak_finish_1(), and x86_file_start().
int body_time [static] |
Definition at line 65 of file c-lex.c.
Referenced by dump_time_statistics(), init_c_lex(), and update_header_times().
| int c_header_level |
splay_tree file_info_tree [static] |
int header_time [static] |
Definition at line 65 of file c-lex.c.
Referenced by dump_time_statistics(), init_c_lex(), and update_header_times().
int ignore_escape_flag [static] |
Definition at line 59 of file c-lex.c.
Referenced by _bfd_compute_and_write_armap(), _cpp_builtin_macro_text(), _cpp_do_file_change(), _Unwind_FindTableEntry(), VN::_valnum_integer(), VN::_valnum_memloc_store(), add_line_map(), BB_Split_Exit_Glue(), bitmap_gc_alloc(), bitmap_obstack_alloc(), build_tree_conflict_graph(), calculate_live_on_exit(), cb_def_pragma(), cb_define(), cb_line_change(), cb_undef(), check_replaceable(), close_addressof_down(), copy_private_bfd_data(), cpp_make_system_header(), create_ssa_var_map(), do_line(), do_linemarker(), dump_live_info(), duplicate_eh_regions(), expand_inline_function(), find_replaceable_in_bb(), Force_Map(), free_line_maps(), Init_Mtype_RegClass_Map(), Init_ty_maps(), init_var_map(), initialize_uninitialized_subregs(), IPA_CPROP_DF_FLOW::IPA_CPROP_DF_FLOW(), IPL_Access_Vector_To_Projected_Region(), IPO_Modify_WN_for_field_reorder(), linemap_add(), linemap_check_files_exited(), linemap_line_start(), linemap_position_for_column(), live_worklist(), Local_Rename(), map_field_id_and_offset(), ARRAY_SUMMARY_OUTPUT::Map_summary_info(), mark_type(), maybe_print_line(), open_include_file(), print_line(), print_location(), process_node(), PU_has_messy_regions(), remap_filename(), rename_ssa_copies(), rewrite_out_of_ssa(), scan_decls(), SWP_Gather_Lifetimes(), unroll_loop(), vms_write_armap(), WN2C_initialize(), WN2F_Expr_initialize(), WN2F_initialize(), and WN_parity().
Definition at line 77 of file c-lex.c.
Referenced by cb_file_change(), cp_lexer_get_preprocessor_token(), do_pending_lang_change(), and fe_file_change().
unsigned int src_lineno [static] |
1.5.6