GCC Middle and Back End API Reference
|
Go to the source code of this file.
Functions | |
void | warning (const char *,...) ATTRIBUTE_PRINTF_1 ATTRIBUTE_COLD |
void | error (const char *,...) ATTRIBUTE_PRINTF_1 ATTRIBUTE_COLD |
void | fatal (const char *,...) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF_1 ATTRIBUTE_COLD |
void | internal_error (const char *,...) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF_1 ATTRIBUTE_COLD |
const char * | trim_filename (const char *) |
Variables | |
int | have_error |
const char * | progname |
|
extern |
A hard error: the code is definitely ill-formed, and an object file will not be produced.
Print an error message - we keep going but the output is unusable.
References ap, ATTRIBUTE_GCC_DIAG, error(), fputc(), global_dc, have_error, input_location, line_table, progname, and vfprintf().
Referenced by _fatal_insn(), add_excls(), add_new_plugin(), add_predicate(), add_prefix_map(), add_presence_absence(), align_variable(), allocate_dynamic_stack_space(), asm_clobber_reg_is_valid(), assemble_alias(), assemble_asm(), assemble_noswitch_variable(), assemble_variable(), assign_temp(), build_array_type_1(), build_function_type(), check_automata_insn_issues(), check_automaton_usage(), check_foffload_target_names(), check_loops_in_regexps(), check_name(), check_offload_target_name(), check_operand_nalternatives(), check_regexp_units_distribution(), check_unique_operand_names(), check_usage(), compare_files(), complain_wrong_lang(), complete_mode(), complex_class(), compute_branch_probabilities(), compute_value_histograms(), control_warning_option(), convert_to_complex_1(), convert_to_fixed(), convert_to_integer_1(), convert_to_pointer_1(), convert_to_real_1(), convert_to_vector(), coverage_init(), dbg_cnt_set_limit_by_index(), dbg_cnt_set_limit_by_name(), decl_attributes(), declare_weak(), decode_cmdline_option(), def_target_insn(), default_expand_builtin_saveregs(), diagnose_sb_0(), do_assemble_symver(), do_link(), do_spec_1(), driver::do_spec_on_infiles(), driver_wrong_lang_callback(), dump_gcov_file(), dump_go_spec_init(), dump_open(), gcc::dump_manager::dump_switch_p(), enable_disable_pass(), end_going_arg(), error(), error_unavailable_use(), execute_cleanup_cfg_post_optimizing(), expand_builtin(), expand_builtin___clear_cache(), expand_builtin_atomic_always_lock_free(), expand_builtin_atomic_is_lock_free(), expand_builtin_eh_return_data_regno(), expand_builtin_frame_address(), expand_builtin_goacc_parlevel_id_size(), expand_builtin_object_size(), expand_builtin_prefetch(), expand_builtin_set_thread_pointer(), expand_builtin_thread_pointer(), expand_call_inline(), expand_eh_return(), expand_expr_real_1(), expand_one_var(), expand_thunk(), files_equal_p(), find_partition_fixes(), fix_register(), fold_builtin_next_arg(), for_each_matching_insn(), get_section(), gimple_verify_flow_info(), gimplify_adjust_omp_clauses_1(), gimplify_asm_expr(), gimplify_call_expr(), gimplify_scan_omp_clauses(), globalize_reg(), go_finish(), handle_alias_pairs(), handle_common_deferred_options(), handle_ignored_attributes_option(), function_reader::handle_insn_uids(), function_reader::handle_unknown_directive(), driver::handle_unrecognized_options(), input_offload_tables(), insert_bypass(), ira_setup_eliminable_regset(), layout_type(), lookup_compiler(), lra_split_hard_reg_for(), main(), make_complex_modes(), make_decl_rtl(), make_int_n(), make_partial_integer_mode(), make_vector_bool_mode(), make_vector_mode(), make_vector_modes(), mark_mode_tests(), mark_weak(), driver::maybe_run_linker(), merge_weak(), new_adjust(), new_mode(), oacc_default_clause(), omp_default_clause(), omp_is_private(), omp_notice_threadprivate_variable(), omp_notice_variable(), output_constant(), output_constructor_bitfield(), parse_and_check_patch_area(), parse_edge_flag_token(), function_reader::parse_enum_value(), parse_input_constraint(), parse_output_constraint(), parse_plugin_arg_opt(), parse_profile_filter(), parse_zero_call_used_regs_options(), position_pass(), print_help(), process_decls(), process_excls(), process_presence_absence_names(), process_presence_absence_patterns(), process_regexp(), read_count_file(), read_counts_file(), read_input_list(), autofdo::read_profile(), register_callback(), register_plugin_info(), replace_duplicating_operands_in_pattern(), reset_float_format(), symtab_node::resolve_alias(), resolve_operand_name_1(), rest_of_clean_state(), rtl_verify_bb_insn_chain(), rtl_verify_bb_insns(), rtl_verify_bb_pointers(), rtl_verify_edges(), rtl_verify_fallthru(), driver::set_up_specs(), spill_failure(), tree_inlinable_function_p(), update_ssa(), valid_constant_size_p(), vector_class(), verify_address(), symtab_node::verify_base(), cgraph_edge::verify_count(), verify_def(), verify_dominators(), verify_eh_dispatch_edge(), verify_eh_edges(), verify_eh_throw_stmt_node(), verify_eh_tree(), verify_expr_location_1(), verify_flow_info(), verify_gimple_assign(), verify_gimple_assign_binary(), verify_gimple_assign_single(), verify_gimple_assign_ternary(), verify_gimple_assign_unary(), verify_gimple_call(), verify_gimple_comparison(), verify_gimple_cond(), verify_gimple_goto(), verify_gimple_in_cfg(), verify_gimple_label(), verify_gimple_phi(), verify_gimple_return(), verify_gimple_switch(), verify_histograms(), verify_hot_cold_block_grouping(), verify_imm_links(), verify_location(), verify_loop_structure(), cgraph_node::verify_node(), verify_opaque_type(), verify_phi_args(), verify_rtx_sharing(), verify_speculative_call(), verify_ssa(), verify_ssa_name(), operands_scanner::verify_ssa_operands(), symtab_node::verify_symtab_nodes(), verify_type(), verify_type_variant(), verify_types_in_gimple_reference(), verify_use(), verify_vssa(), visit_hist(), write_insn_constraint_len(), and write_tm_constrs_h().
|
extern |
Fatal error - terminate execution immediately. Does not return.
References ap, FATAL_EXIT_CODE, fputc(), progname, and vfprintf().
Referenced by add_predicate(), emit_documentation(), emit_init_macros(), fatal_reading_state(), gen_regexp_allof(), gen_regexp_el(), gen_regexp_oneof(), gen_regexp_repeat(), gen_regexp_sequence(), parser::get_internal_capture_id(), main(), main(), open_outfile(), open_outfile(), parse_automata_opt(), read_input_list(), read_state(), simplify_test_exp(), vect_analyze_data_refs(), vect_analyze_loop(), vect_analyze_loop_1(), vect_analyze_loop_2(), vect_mark_stmts_to_be_vectorized(), vect_slp_analyze_bb_1(), vect_slp_region(), write_automata(), state_writer::write_state, state_writer::write_state_callback_type(), state_writer::write_state_option(), state_writer::write_state_scalar_type(), state_writer::write_state_string_type(), write_state_trailer(), and write_test_expr().
|
extern |
An internal consistency check has failed. We make no attempt to continue.
Similar, but say we got an internal error.
References ap, ATTRIBUTE_GCC_DIAG, FATAL_EXIT_CODE, fputc(), gcc_unreachable, global_dc, input_location, line_table, progname, and vfprintf().
Referenced by block_ends_with_call_p(), block_ends_with_condjump_p(), bp_unpack_string(), can_duplicate_block_p(), can_merge_blocks_p(), can_remove_branch_p(), opt_pass::clone(), symbol_table::compile(), convert_gimple_call(), convert_nonlocal_reference_op(), crash_signal(), create_basic_block_1(), delete_basic_block(), DFS::DFS(), dump_bb_for_graph(), duplicate_block(), emit_mode_adjustments(), expand_asm_stmt(), fail_abnormal_edge_coalesce(), fancy_abort(), fancy_abort(), flow_call_edges_add(), force_nonfallthru(), get_section(), gimplify_expr(), init_ggc(), input_cgraph_1(), input_edge(), input_gimple_stmt(), input_node(), lra_assign(), lra_constraints(), lto_compression_zlib(), lto_get_section_name(), lto_input_mode_table(), lto_tag_check(), lto_tag_check_range(), lto_tag_check_set(), lto_uncompression_zlib(), lto_write_tree(), make_forwarder_block(), mark_functions_to_output(), merge_blocks(), move_block_after(), omp_get_attachment(), omp_group_base(), omp_tsort_mapping_groups_1(), output_operand_lossage(), predict_edge(), predicted_by_p(), print_specific_help(), redirect_edge_and_branch(), redirect_edge_and_branch_force(), rewrite_trees(), rtl_verify_bb_layout(), opt_pass::set_pass_param(), split_block_1(), split_edge(), streamer_read_string(), string_for_index(), update_ssa(), validate_value_data(), attr_fnspec::verify(), symtab_node::verify(), verify_constructor_flags(), verify_eh_tree(), verify_flow_info(), verify_gimple_in_cfg(), verify_gimple_in_seq(), verify_histograms(), verify_marked_backedges(), cgraph_node::verify_node(), verify_rtx_sharing(), verify_ssa(), symtab_node::verify_symtab_nodes(), verify_type(), and visit_loops_in_gang_single_region().
|
extern |
Given a partial pathname as input, return another pathname that shares no directory elements with the pathname of __FILE__. This is used by fancy_abort() to print `internal compiler error in expr.cc' instead of `internal compiler error in ../../GCC/gcc/expr.cc'.
Given a partial pathname as input, return another pathname that shares no directory elements with the pathname of __FILE__. This is used by fancy_abort() to print `Internal compiler error in expr.cc' instead of `Internal compiler error in ../../GCC/gcc/expr.cc'. This version is meant to be used for the gen* programs and therefor need not handle subdirectories.
References this_file.
|
extern |
Basic error reporting routines. Copyright (C) 1999-2025 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
warning, error, and fatal. These definitions are suitable for use in the generator programs; eventually we would like to use them in cc1 too, but that's a longer term project. N.B. We cannot presently use ATTRIBUTE_PRINTF with these functions, because they can be extended with additional format specifiers which GCC does not know about.
Print a warning message - output produced, but there may be problems.
References ap, fputc(), progname, and vfprintf().
|
extern |
Starts out 0, set to 1 if error is called.
MD reader for GCC. Copyright (C) 1987-2025 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
This file is compiled twice: once for the generator programs once for the compiler.
Minimal reimplementation of errors.cc for use by RTL frontend within cc1.
Referenced by check_all_description(), error(), error_at(), expand_automata(), gen_mnemonic_attr(), init_rtx_reader_args_cb(), main(), main(), main(), process_define_cond_exec(), md_reader::read_file(), md_reader::read_file_fragment(), validate_optab_operands(), VEC_safe_set_locstr(), and write_automata().
|
extern |
Name of program invoked, sans directories.
Basic error reporting routines. Copyright (C) 1999-2025 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
warning, error, and fatal. These definitions are suitable for use in the generator programs; the compiler has a more elaborate suite of diagnostic printers, found in diagnostic.cc.
Set this to argv[0] at the beginning of main.