GCC Middle and Back End API Reference
diagnostic-core.h File Reference
#include "bversion.h"
#include "diagnostic.def"
Include dependency graph for diagnostic-core.h:

Go to the source code of this file.

Data Structures

class  auto_diagnostic_group
 
struct  diagnostic_option_id
 

Macros

#define DEFINE_DIAGNOSTIC_KIND(K, msgid, C)
 
#define GCC_DIAG_STYLE   __gcc_tdiag__
 
#define ATTRIBUTE_GCC_DIAG(m, n)
 

Enumerations

enum  diagnostic_t { DK_LAST_DIAGNOSTIC_KIND , DK_POP , DK_ANY }
 

Functions

const char * trim_filename (const char *)
 
void internal_error (const char *,...) ATTRIBUTE_GCC_DIAG(1
 
void internal_error_no_backtrace (const char *,...) ATTRIBUTE_GCC_DIAG(1
 
bool warning (diagnostic_option_id, const char *,...) ATTRIBUTE_GCC_DIAG(2
 
bool bool warning_n (location_t, diagnostic_option_id, unsigned HOST_WIDE_INT, const char *, const char *,...) ATTRIBUTE_GCC_DIAG(4
 
bool bool ATTRIBUTE_GCC_DIAG (5, 6)
 
bool warning_n (rich_location *, diagnostic_option_id, unsigned HOST_WIDE_INT, const char *, const char *,...) ATTRIBUTE_GCC_DIAG(4
 
bool warning_at (location_t, diagnostic_option_id, const char *,...) ATTRIBUTE_GCC_DIAG(3
 
bool bool warning_at (rich_location *, diagnostic_option_id, const char *,...) ATTRIBUTE_GCC_DIAG(3
 
bool bool bool warning_meta (rich_location *, const diagnostic_metadata &, diagnostic_option_id, const char *,...) ATTRIBUTE_GCC_DIAG(4
 
bool bool bool void error (const char *,...) ATTRIBUTE_GCC_DIAG(1
 
bool bool bool void void error_n (location_t, unsigned HOST_WIDE_INT, const char *, const char *,...) ATTRIBUTE_GCC_DIAG(3
 
bool bool bool void void ATTRIBUTE_GCC_DIAG (4, 5)
 
void error_at (location_t, const char *,...) ATTRIBUTE_GCC_DIAG(2
 
void void error_at (rich_location *, const char *,...) ATTRIBUTE_GCC_DIAG(2
 
void void void error_meta (rich_location *, const diagnostic_metadata &, const char *,...) ATTRIBUTE_GCC_DIAG(3
 
void void void void fatal_error (location_t, const char *,...) ATTRIBUTE_GCC_DIAG(2
 
bool pedwarn (location_t, diagnostic_option_id, const char *,...) ATTRIBUTE_GCC_DIAG(3
 
bool bool pedwarn (rich_location *, diagnostic_option_id, const char *,...) ATTRIBUTE_GCC_DIAG(3
 
bool bool bool permerror (location_t, const char *,...) ATTRIBUTE_GCC_DIAG(2
 
bool bool bool bool permerror (rich_location *, const char *,...) ATTRIBUTE_GCC_DIAG(2
 
bool bool bool bool bool permerror_opt (location_t, diagnostic_option_id, const char *,...) ATTRIBUTE_GCC_DIAG(3
 
bool bool bool bool bool bool permerror_opt (rich_location *, diagnostic_option_id, const char *,...) ATTRIBUTE_GCC_DIAG(3
 
bool bool bool bool bool bool void sorry (const char *,...) ATTRIBUTE_GCC_DIAG(1
 
bool bool bool bool bool bool void void sorry_at (location_t, const char *,...) ATTRIBUTE_GCC_DIAG(2
 
bool bool bool bool bool bool void void void inform (location_t, const char *,...) ATTRIBUTE_GCC_DIAG(2
 
bool bool bool bool bool bool void void void void inform (rich_location *, const char *,...) ATTRIBUTE_GCC_DIAG(2
 
bool bool bool bool bool bool void void void void void inform_n (location_t, unsigned HOST_WIDE_INT, const char *, const char *,...) ATTRIBUTE_GCC_DIAG(3
 
void verbatim (const char *,...) ATTRIBUTE_GCC_DIAG(1
 
void bool emit_diagnostic (diagnostic_t, location_t, diagnostic_option_id, const char *,...) ATTRIBUTE_GCC_DIAG(4
 
void bool bool emit_diagnostic (diagnostic_t, rich_location *, diagnostic_option_id, const char *,...) ATTRIBUTE_GCC_DIAG(4
 
void bool bool bool emit_diagnostic_valist (diagnostic_t, location_t, diagnostic_option_id, const char *, va_list *) ATTRIBUTE_GCC_DIAG(4
 
void bool bool bool bool emit_diagnostic_valist_meta (diagnostic_t, rich_location *, const diagnostic_metadata *, diagnostic_option_id, const char *, va_list *) ATTRIBUTE_GCC_DIAG(5
 
void bool bool bool bool bool seen_error (void)
 

Variables

const char * progname
 
void ATTRIBUTE_NORETURN
 

Macro Definition Documentation

◆ ATTRIBUTE_GCC_DIAG

#define ATTRIBUTE_GCC_DIAG ( m,
n )
Value:
__attribute__ ((__format__ (GCC_DIAG_STYLE, m, n))) ATTRIBUTE_NONNULL(m)
#define GCC_DIAG_STYLE
Definition diagnostic-core.h:82
None of these functions are suitable for ATTRIBUTE_PRINTF, because
each language front end can extend them with its own set of format
specifiers.  We must use custom format checks.   

◆ DEFINE_DIAGNOSTIC_KIND

#define DEFINE_DIAGNOSTIC_KIND ( K,
msgid,
C )
Value:
K,

◆ GCC_DIAG_STYLE

#define GCC_DIAG_STYLE   __gcc_tdiag__
If we haven't already defined a front-end-specific diagnostics
style, use the generic one.   

Enumeration Type Documentation

◆ diagnostic_t

Declarations of core diagnostic functionality for code that does
   not need to deal with diagnostic contexts or diagnostic info
   structures.
   Copyright (C) 1998-2024 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/>.   
Constants used to discriminate diagnostics.   
Enumerator
DK_LAST_DIAGNOSTIC_KIND 
Copyright (C) 2001-2024 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/>.   
DK_UNSPECIFIED must be first so it has a value of zero.  We never
assign this kind to an actual diagnostic, we only use this in
variables that can hold a kind, to mean they have yet to have a
kind specified.  I.e. they're uninitialized.  Within the diagnostic
machinery, this kind also means "don't change the existing kind",
meaning "no change is specified".   
If a diagnostic is set to DK_IGNORED, it won't get reported at all.
This is used by the diagnostic machinery when it wants to disable a
diagnostic without disabling the option which causes it.   
The remainder are real diagnostic types.   
For use when using the diagnostic_show_locus machinery to show
a range of events within a path.   
These two would be re-classified as DK_WARNING or DK_ERROR, so the
prefix does not matter.   
This one is just for counting DK_WARNING promoted to DK_ERROR
due to -Werror and -Werror=warning.   
This is like DK_ICE, but backtrace is not printed.  Used in the driver
when reporting fatal signal in the compiler.   
DK_POP 
DK_ANY 

Function Documentation

◆ ATTRIBUTE_GCC_DIAG() [1/2]

bool bool bool bool bool bool void void void void void ATTRIBUTE_GCC_DIAG ( 4 ,
5  )

◆ ATTRIBUTE_GCC_DIAG() [2/2]

bool ATTRIBUTE_GCC_DIAG ( 5 ,
6  )

◆ emit_diagnostic() [1/2]

void bool emit_diagnostic ( diagnostic_t ,
location_t ,
diagnostic_option_id ,
const char * ,
... )
extern

◆ emit_diagnostic() [2/2]

void bool bool emit_diagnostic ( diagnostic_t ,
rich_location * ,
diagnostic_option_id ,
const char * ,
... )
extern

◆ emit_diagnostic_valist()

void bool bool bool emit_diagnostic_valist ( diagnostic_t ,
location_t ,
diagnostic_option_id ,
const char * ,
va_list *  )
extern

◆ emit_diagnostic_valist_meta()

void bool bool bool bool emit_diagnostic_valist_meta ( diagnostic_t ,
rich_location * ,
const diagnostic_metadata * ,
diagnostic_option_id ,
const char * ,
va_list *  )
extern

◆ error()

bool bool bool void error ( const char * ,
... )
extern

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_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_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().

◆ error_at() [1/2]

void error_at ( location_t ,
const char * ,
... )
extern

Referenced by add_constraint(), add_constraints(), add_insn(), adjust_nested_loop_clauses(), alter_attrs_for_subst_insn(), alter_predicate_for_insn(), fixup_insn_uid::apply(), assemble_alias(), check_attr_value(), check_counter(), check_define_attr_duplicates(), check_defs(), check_oacc_kernel_gwv(), check_omp_nesting_restrictions(), clear_padding_type(), clear_padding_union(), cmdline_handle_error(), common_function_versions(), common_handle_option(), compute_strub_mode(), compute_test_codes(), control_options_for_live_patching(), convert_set_attr_alternative(), create_dispatcher_calls(), def_target_insn(), default_options_optimization(), diagnose_tm_1(), diagnose_tm_1_op(), do_assemble_alias(), do_reload(), enable_warning_as_error(), expand_asm_stmt(), expand_builtin_va_start(), expand_FALLTHROUGH(), expand_omp_for(), expand_one_var(), expand_target_clones(), expr_expected_value_1(), function_reader::extra_parsing_for_operand_code_0(), finish_options(), frame_offset_overflow(), gen_attr(), gen_delay(), gen_insn(), get_alternatives_number(), get_peephole2_pattern(), get_variable_section(), gimplify_adjust_omp_clauses(), gimplify_asm_expr(), gimplify_bind_expr(), gimplify_call_expr(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_ordered(), gimplify_omp_task(), gimplify_scan_omp_clauses(), globalize_reg(), has_subst_attribute(), identify_predicable_attribute(), ipa_tm_diagnose_tm_safe(), ipa_tm_diagnose_transaction(), ipa_tm_scan_irr_block(), is_predicable(), lower_omp_ordered_clauses(), toplev::main(), map_attr_string(), match_pattern_2(), maybe_complain_about_tail_call(), maybe_diag_incompatible_alias(), maybe_error_musttail(), mdep_constraint_len(), note_constraint(), oacc_do_neutering(), oacc_loop_fixed_partitions(), oacc_loop_process(), oacc_parse_default_dims(), oacc_resolve_clause_dependencies(), oacc_verify_routine_clauses(), omp_apply_tile(), omp_build_struct_sibling_lists(), omp_check_context_selector(), omp_check_mapping_compatibility(), omp_discover_declare_target_var_r(), omp_mark_declare_variant(), omp_maybe_apply_loop_xforms(), omp_notice_variable(), parse_and_check_align_values(), function_reader::parse_crtl(), parse_sanitizer_options(), process_define_predicate(), process_define_subst(), process_one_cond_exec(), process_options(), process_rtx(), process_symver_attribute(), process_template(), read_cmdline_option(), read_rtl_function_body_from_file_range(), report_conflicting_sanitizer_options(), scan_omp_1_stmt(), scan_omp_for(), scan_omp_target(), scan_operands(), scan_sharing_clauses(), set_debug_level(), set_option(), set_strub_mode_to(), set_struct_debug_option(), subst_pattern_match(), transform_kernels_loop_clauses(), tree_conflicts_with_clobbers_p(), validate_exp(), validate_insn_alternatives(), validate_insn_operands(), validate_pattern(), verify_node_partition(), verify_strub(), and optrecord_json_writer::write().

◆ error_at() [2/2]

void void error_at ( rich_location * ,
const char * ,
... )
extern

◆ error_meta()

void void void error_meta ( rich_location * ,
const diagnostic_metadata & ,
const char * ,
... )
extern

◆ error_n()

bool bool bool void void error_n ( location_t ,
unsigned HOST_WIDE_INT ,
const char * ,
const char * ,
... )
extern

◆ fatal_error()

void void void void fatal_error ( location_t ,
const char * ,
... )
extern

Referenced by add_new_plugin(), add_sysrooted_hdrs_prefix(), add_sysrooted_prefix(), close_at_file(), collect_execute(), collect_wait(), compare_debug_dump_opt_spec_function(), compare_debug_self_opt_spec_function(), compare_version_strings(), compile_images_for_offload_targets(), compile_offload_image(), copy_file(), debug_level_greater_than_spec_func(), debug_objcopy(), default_plugin_dir_name(), do_merge(), do_merge_stream(), do_rewrite(), do_self_spec(), do_spec_1(), do_wait(), driver_handle_option(), dumps_spec_func(), dwarf_version_greater_than_spec_func(), eval_spec_function(), execute(), finalize(), find_crtoffloadtable(), fixup_call_stmt_edges_1(), gcov_output_files(), varpool_node::get_constructor(), cgraph_node::get_untransformed_body(), getenv_spec_function(), ggc_pch_finish(), ggc_pch_read(), ggc_pch_write_object(), driver::global_initializations(), gt_pch_restore(), gt_pch_save(), handle_braces(), handle_spec_function(), init_asm_output(), inline_read_section(), input_offload_tables(), input_symtab(), ipa_fn_summary_read(), ipa_read_jump_function(), ipa_reference_read_optimization_summary(), ipa_write_jump_function(), is_lto_object_file(), load_specs(), lookup_compiler(), lto_check_version(), lto_end_uncompression(), lto_input_mode_table(), lto_input_ts_poly_tree_pointers(), lto_section_overrun(), lto_value_range_error(), main(), main(), driver::maybe_print_and_exit(), driver::maybe_run_linker(), maybe_run_lto_and_relink(), maybe_unlink(), merge_and_complain(), merge_profile_summaries(), open_at_file(), open_auxiliary_file(), open_graph_file(), used_arg_t::operator()(), parse_options_from_collect_gcc_options(), poly_int_read_common(), driver::prepare_infiles(), print_multilib_info(), process_brace_body(), process_command(), process_options(), read_specs(), gcc::pass_manager::register_pass(), run_attempt(), run_gcc(), scan_prog_file(), set_multilib_dir(), setup_core_dumping(), unpack_ts_function_decl_value_fields(), version_compare_spec_function(), and write_pch_globals().

◆ inform() [1/2]

bool bool bool bool bool bool void void void inform ( location_t ,
const char * ,
... )
extern

Referenced by add_type_duplicate(), adjust_nested_loop_clauses(), asm_clobber_reg_is_valid(), c_strlen(), array_bounds_checker::check_addr_expr(), array_bounds_checker::check_array_ref(), check_offload_target_name(), cmdline_handle_error(), common_function_versions(), compare_virtual_tables(), const_ok_for_output_1(), debug(), decl_attributes(), diag_attr_exclusions(), diag_returned_locals(), diagnose_options(), do_reload(), do_spec_1(), driver::do_spec_on_infiles(), do_warn_aggressive_loop_optimizations(), dump_location_info(), format_string_diagnostic_t::emit_warning_n_va(), enable_disable_pass(), error_unavailable_use(), pass_walloca::execute(), expand_builtin_sync_operation(), expand_call_inline(), expand_target_clones(), finish_options(), get_section(), gimplify_va_arg_expr(), globalize_reg(), handle_alias_pairs(), strlen_pass::handle_builtin_stxncpy_strncat(), handle_ignored_attributes_option(), access_ref::inform_access(), init_asm_output(), input_offload_tables(), ipa_odr_read_section(), maybe_diag_alias_attributes(), maybe_diag_incompatible_alias(), maybe_warn_for_bound(), maybe_warn_nonstring_arg(), maybe_warn_pass_by_reference(), maybe_warn_pointless_strcmp(), maybe_warn_read_write_only(), oacc_default_clause(), oacc_loop_fixed_partitions(), oacc_verify_routine_clauses(), omp_default_clause(), omp_notice_threadprivate_variable(), omp_notice_variable(), place_field(), print_ignored_options(), print_lto_docs_link(), diagnostic_text_output_format::print_path(), process_options(), process_symver_attribute(), autofdo::autofdo_source_profile::read(), toplev::run_self_tests(), scan_omp_for(), switch_to_section(), transform_kernels_loop_clauses(), vt_find_locations(), warn_dealloc_offset(), warn_deprecated_use(), warn_implicit_fallthrough_r(), warn_odr(), warn_string_no_nul(), warn_types_mismatch(), warn_uninit(), and warn_uninitialized_vars().

◆ inform() [2/2]

bool bool bool bool bool bool void void void void inform ( rich_location * ,
const char * ,
... )
extern

◆ inform_n()

bool bool bool bool bool bool void void void void void inform_n ( location_t ,
unsigned HOST_WIDE_INT ,
const char * ,
const char * ,
... )
extern

◆ internal_error()

void internal_error ( const char * ,
... )
extern

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(), 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().

◆ internal_error_no_backtrace()

void internal_error_no_backtrace ( const char * ,
... )
extern

Referenced by execute().

◆ pedwarn() [1/2]

bool pedwarn ( location_t ,
diagnostic_option_id ,
const char * ,
... )
extern
Pass one of the OPT_W* from options.h as the second parameter.   

Referenced by check_global_declaration(), expand_FALLTHROUGH(), expand_FALLTHROUGH_r(), and fold_builtin_inf().

◆ pedwarn() [2/2]

bool bool pedwarn ( rich_location * ,
diagnostic_option_id ,
const char * ,
... )
extern

◆ permerror() [1/2]

bool bool bool permerror ( location_t ,
const char * ,
... )
extern

◆ permerror() [2/2]

bool bool bool bool permerror ( rich_location * ,
const char * ,
... )
extern

◆ permerror_opt() [1/2]

bool bool bool bool bool permerror_opt ( location_t ,
diagnostic_option_id ,
const char * ,
... )
extern

◆ permerror_opt() [2/2]

bool bool bool bool bool bool permerror_opt ( rich_location * ,
diagnostic_option_id ,
const char * ,
... )
extern

◆ seen_error()

◆ sorry()

◆ sorry_at()

◆ trim_filename()

const char * trim_filename ( const char * name)
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.

Referenced by emit_insn_modes_h(), new_adjust(), and new_mode().

◆ verbatim()

void verbatim ( const char * ,
... )
extern

◆ warning()

bool warning ( diagnostic_option_id ,
const char * ,
... )
extern
Pass one of the OPT_W* from options.h as the first parameter.   

Referenced by add_presence_absence(), asm_clobber_reg_is_valid(), build_type_attribute_qual_variant(), symbol_table::change_decl_assembler_name(), check_automata_insn_issues(), check_automaton_usage(), check_global_declaration(), check_usage(), complain_wrong_lang(), coverage_end_function(), coverage_init(), decl_attributes(), declare_weak(), default_assemble_visibility(), default_target_option_pragma_parse(), default_target_option_valid_attribute_p(), default_target_option_valid_version_attribute_p(), diag_attr_exclusions(), do_reload(), drop_profile(), cgraph_node::expand(), expand_builtin_frame_address(), expand_builtin_prefetch(), expand_call(), expand_call_inline(), final_start_function_1(), finalize_record_size(), fix_register(), fixed_from_string(), fold_overflow_warning(), fold_truth_andor_1(), gcse_or_cprop_is_too_expensive(), get_coverage_counts(), gimple_fold_builtin_memory_op(), handle_warn_if_not_align(), insert_bypass(), layout_decl(), make_decl_rtl(), make_insn_raw(), driver::maybe_run_linker(), merge_and_complain(), opt_info_switch_p(), opt_info_switch_p_1(), optimize_bit_field_compare(), output_dwarf_version(), output_stack_usage_1(), parse_dump_option(), parse_input_constraint(), parse_no_sanitize_attribute(), parse_output_constraint(), place_field(), print_help(), process_command(), process_decls(), read_counts_file(), run_gcc(), setjmp_args_warning(), setjmp_vars_warning(), store_bit_field_using_insv(), switch_to_section(), tree_inlinable_function_p(), tree_profiling(), warn_deprecated_use(), and weak_finish_1().

◆ warning_at() [1/2]

bool warning_at ( location_t ,
diagnostic_option_id ,
const char * ,
... )
extern

Referenced by c_strlen(), check_access(), array_bounds_checker::check_addr_expr(), array_bounds_checker::check_array_ref(), check_bounds_or_overlap(), check_global_declaration(), array_bounds_checker::check_mem_ref(), check_omp_nesting_restrictions(), check_out_of_bounds_and_warn(), check_strncat_sizes(), common_handle_option(), compare_virtual_tables(), coverage_begin_function(), decode_d_option(), diag_returned_locals(), do_warn_aggressive_loop_optimizations(), do_warn_nonnull_compare(), do_warn_unused_result(), emit_warn_switch_unreachable(), pass_walloca::execute(), expand_asm_stmt(), expand_builtin_init_trampoline(), expand_expr_real_1(), expand_omp_ordered_sink(), expand_target_clones(), expand_vector_comparison(), expand_vector_condition(), expand_vector_conversion(), expand_vector_parallel(), expand_vector_piecewise(), find_conditions(), finish_options(), fold_builtin_next_arg(), fold_undefer_overflow_warnings(), autofdo::get_combined_location(), get_coverage_counts(), gimple_fold_builtin_strcpy(), gimple_fold_builtin_strncat(), gimple_fold_builtin_strncpy(), gimple_fold_builtin_stxcpy_chk(), gimplify_adjust_omp_clauses(), gimplify_asm_expr(), gimplify_omp_for(), gimplify_scan_omp_clauses(), gimplify_va_arg_expr(), globalize_reg(), strlen_pass::handle_builtin_stxncpy_strncat(), handle_printf_call(), init_function_start(), instrument_builtin_call(), ipa_odr_read_section(), lower_omp_ordered_clauses(), lower_vec_perm(), maybe_diag_incompatible_alias(), maybe_diag_stxncpy_trunc(), maybe_optimize_sub_cmp_0(), maybe_warn_for_bound(), maybe_warn_nonstring_arg(), maybe_warn_operand(), strlen_pass::maybe_warn_overflow(), maybe_warn_pointless_strcmp(), maybe_warn_read_write_only(), oacc_loop_auto_partitions(), oacc_validate_dims(), omp_check_context_selector(), optimize_range_tests_var_bound(), output_stack_usage_1(), process_command(), process_common_attributes(), process_function_and_variable_attributes(), process_options(), read_cmdline_option(), replace_loop_annotate(), scan_omp_for(), set_debug_level(), simd_clone_clauses_extract(), stmt_uses_0_or_null_in_undefined_way(), stmt_uses_name_in_undefined_way(), suggest_attribute(), update_range_test(), vect_estimate_min_profitable_iters(), visit_loops_in_gang_single_region(), warn_dealloc_offset(), warn_for_access(), warn_implicit_fallthrough_r(), warn_odr(), warn_string_no_nul(), warn_switch_unreachable_and_auto_init_r(), and warn_uninit().

◆ warning_at() [2/2]

bool bool warning_at ( rich_location * ,
diagnostic_option_id ,
const char * ,
... )
extern

◆ warning_meta()

bool bool bool warning_meta ( rich_location * ,
const diagnostic_metadata & ,
diagnostic_option_id ,
const char * ,
... )
extern

◆ warning_n() [1/2]

bool bool warning_n ( location_t ,
diagnostic_option_id ,
unsigned HOST_WIDE_INT ,
const char * ,
const char * ,
... )
extern

◆ warning_n() [2/2]

bool warning_n ( rich_location * ,
diagnostic_option_id ,
unsigned HOST_WIDE_INT ,
const char * ,
const char * ,
... )
extern

Variable Documentation

◆ ATTRIBUTE_NORETURN

void void void void ATTRIBUTE_NORETURN

◆ progname

const char* progname
extern
Name of program invoked, sans directories.   
Basic error reporting routines.
   Copyright (C) 1999-2024 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.   

Referenced by display_help(), execute(), general_init(), diagnostic_column_policy::get_location_text(), main(), main(), main(), main(), main(), driver::maybe_print_and_exit(), print_usage(), print_version(), read_state(), read_state_structures(), read_state_typedefs(), read_state_variables(), driver::set_progname(), usage(), write_insn_preds_c(), state_writer::write_state_structures(), state_writer::write_state_typedefs(), state_writer::write_state_variables(), write_tm_constrs_h(), write_tm_preds_h(), and diagnostic_text_output_format::~diagnostic_text_output_format().