GCC Middle and Back End API Reference
gcc_debug_hooks Struct Reference

#include <debug.h>

Data Fields

void(* init )(const char *main_filename)
 
void(* finish )(const char *main_filename)
 
void(* early_finish )(const char *main_filename)
 
void(* assembly_start )(void)
 
void(* define )(unsigned int line, const char *text)
 
void(* undef )(unsigned int line, const char *macro)
 
void(* start_source_file )(unsigned int line, const char *file)
 
void(* end_source_file )(unsigned int line)
 
void(* begin_block )(unsigned int line, unsigned int n)
 
void(* end_block )(unsigned int line, unsigned int n)
 
bool(* ignore_block )(const_tree)
 
void(* source_line )(unsigned int line, unsigned int column, const char *file, int discriminator, bool is_stmt)
 
void(* set_ignored_loc )(unsigned int line, unsigned int column, const char *file)
 
void(* begin_prologue )(unsigned int line, unsigned int column, const char *file)
 
void(* end_prologue )(unsigned int line, const char *file)
 
void(* begin_epilogue )(unsigned int line, const char *file)
 
void(* end_epilogue )(unsigned int line, const char *file)
 
void(* begin_function )(tree decl)
 
void(* end_function )(unsigned int line)
 
void(* register_main_translation_unit )(tree)
 
void(* function_decl )(tree decl)
 
void(* early_global_decl )(tree decl)
 
void(* late_global_decl )(tree decl)
 
void(* type_decl )(tree decl, int local)
 
void(* imported_module_or_decl )(tree decl, tree name, tree context, bool child, bool implicit)
 
bool(* die_ref_for_decl )(tree, const char **, unsigned HOST_WIDE_INT *)
 
void(* register_external_die )(tree, const char *, unsigned HOST_WIDE_INT)
 
void(* deferred_inline_function )(tree decl)
 
void(* outlining_inline_function )(tree decl)
 
void(* label )(rtx_code_label *)
 
void(* handle_pch )(unsigned int)
 
void(* var_location )(rtx_insn *)
 
void(* inline_entry )(tree block)
 
void(* size_function )(tree decl)
 
void(* switch_text_section )(void)
 
void(* set_name )(tree, tree)
 
int start_end_main_source_file
 
int tree_type_symtab_field
 

Detailed Description

Debug hooks for GCC.
Copyright (C) 2001-2024 Free Software Foundation, Inc.

This program 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.

This program 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 this program; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.   
This structure contains hooks for the debug information output
functions, accessed through the global instance debug_hooks set in
toplev.cc according to command line options.   
WARNING: Do not add new debug hook targets - DWARF will be the only
way to speak debug to the middle-end once we are able to get rid of
the remaining targets.  If you need alternate output formats instead
generate them off the DWARF representation.   

Field Documentation

◆ assembly_start

void(* gcc_debug_hooks::assembly_start) (void)

◆ begin_block

void(* gcc_debug_hooks::begin_block) (unsigned int line, unsigned int n)

Referenced by final_scan_insn_1().

◆ begin_epilogue

void(* gcc_debug_hooks::begin_epilogue) (unsigned int line, const char *file)

Referenced by final_scan_insn_1().

◆ begin_function

void(* gcc_debug_hooks::begin_function) (tree decl)

Referenced by assemble_start_function().

◆ begin_prologue

void(* gcc_debug_hooks::begin_prologue) (unsigned int line, unsigned int column, const char *file)

Referenced by final_start_function_1().

◆ deferred_inline_function

void(* gcc_debug_hooks::deferred_inline_function) (tree decl)

◆ define

void(* gcc_debug_hooks::define) (unsigned int line, const char *text)

Referenced by dump_go_spec_init(), and go_define().

◆ die_ref_for_decl

bool(* gcc_debug_hooks::die_ref_for_decl) (tree, const char **, unsigned HOST_WIDE_INT *)

Referenced by lto_write_tree_1().

◆ early_finish

void(* gcc_debug_hooks::early_finish) (const char *main_filename)

◆ early_global_decl

void(* gcc_debug_hooks::early_global_decl) (tree decl)

◆ end_block

void(* gcc_debug_hooks::end_block) (unsigned int line, unsigned int n)

Referenced by final_scan_insn_1().

◆ end_epilogue

void(* gcc_debug_hooks::end_epilogue) (unsigned int line, const char *file)

Referenced by final_end_function().

◆ end_function

void(* gcc_debug_hooks::end_function) (unsigned int line)

Referenced by final_end_function().

◆ end_prologue

void(* gcc_debug_hooks::end_prologue) (unsigned int line, const char *file)

Referenced by final_scan_insn_1().

◆ end_source_file

void(* gcc_debug_hooks::end_source_file) (unsigned int line)

◆ finish

void(* gcc_debug_hooks::finish) (const char *main_filename)

◆ function_decl

void(* gcc_debug_hooks::function_decl) (tree decl)

◆ handle_pch

void(* gcc_debug_hooks::handle_pch) (unsigned int)

◆ ignore_block

bool(* gcc_debug_hooks::ignore_block) (const_tree)

Referenced by mark_scope_block_unused().

◆ imported_module_or_decl

void(* gcc_debug_hooks::imported_module_or_decl) (tree decl, tree name, tree context, bool child, bool implicit)

◆ init

void(* gcc_debug_hooks::init) (const char *main_filename)

Referenced by lang_dependent_init().

◆ inline_entry

void(* gcc_debug_hooks::inline_entry) (tree block)

Referenced by final_scan_insn_1().

◆ label

void(* gcc_debug_hooks::label) (rtx_code_label *)

Referenced by final_scan_insn_1().

◆ late_global_decl

◆ outlining_inline_function

void(* gcc_debug_hooks::outlining_inline_function) (tree decl)

◆ register_external_die

void(* gcc_debug_hooks::register_external_die) (tree, const char *, unsigned HOST_WIDE_INT)

Referenced by lto_input_tree().

◆ register_main_translation_unit

void(* gcc_debug_hooks::register_main_translation_unit) (tree)

◆ set_ignored_loc

void(* gcc_debug_hooks::set_ignored_loc) (unsigned int line, unsigned int column, const char *file)

◆ set_name

void(* gcc_debug_hooks::set_name) (tree, tree)

◆ size_function

void(* gcc_debug_hooks::size_function) (tree decl)

Referenced by finalize_size_functions().

◆ source_line

void(* gcc_debug_hooks::source_line) (unsigned int line, unsigned int column, const char *file, int discriminator, bool is_stmt)

◆ start_end_main_source_file

int gcc_debug_hooks::start_end_main_source_file

◆ start_source_file

void(* gcc_debug_hooks::start_source_file) (unsigned int line, const char *file)

◆ switch_text_section

void(* gcc_debug_hooks::switch_text_section) (void)

Referenced by final_scan_insn_1().

◆ tree_type_symtab_field

int gcc_debug_hooks::tree_type_symtab_field

◆ type_decl

void(* gcc_debug_hooks::type_decl) (tree decl, int local)

◆ undef

void(* gcc_debug_hooks::undef) (unsigned int line, const char *macro)

Referenced by dump_go_spec_init(), and go_undef().

◆ var_location

void(* gcc_debug_hooks::var_location) (rtx_insn *)

Referenced by final_scan_insn_1().


The documentation for this struct was generated from the following file: