GCC Middle and Back End API Reference
debug.h File Reference

Go to the source code of this file.

Data Structures

struct  gcc_debug_hooks

Functions

void debug_nothing_void (void)
void debug_nothing_charstar (const char *)
void debug_nothing_int_charstar (unsigned int, const char *)
void debug_nothing_int_charstar_int_bool (unsigned int, const char *, int, bool)
void debug_nothing_int (unsigned int)
void debug_nothing_int_int (unsigned int, unsigned int)
void debug_nothing_tree (tree)
void debug_nothing_tree_tree (tree, tree)
void debug_nothing_tree_int (tree, int)
void debug_nothing_tree_tree_tree_bool (tree, tree, tree, bool)
bool debug_true_const_tree (const_tree)
void debug_nothing_rtx (rtx)
void debug_nothing_rtx_rtx (rtx, rtx)
void dwarf2out_begin_prologue (unsigned int, const char *)
void dwarf2out_vms_end_prologue (unsigned int, const char *)
void dwarf2out_vms_begin_epilogue (unsigned int, const char *)
void dwarf2out_end_epilogue (unsigned int, const char *)
void dwarf2out_frame_finish (void)
bool dwarf2out_do_frame (void)
bool dwarf2out_do_cfi_asm (void)
void dwarf2out_switch_text_section (void)
const char * remap_debug_filename (const char *)
void add_debug_prefix_map (const char *)
struct gcc_debug_hooksdump_go_spec_init (const char *, const struct gcc_debug_hooks *)

Variables

struct gcc_debug_hooksdebug_hooks
struct gcc_debug_hooks do_nothing_debug_hooks
struct gcc_debug_hooks dbx_debug_hooks
struct gcc_debug_hooks sdb_debug_hooks
struct gcc_debug_hooks xcoff_debug_hooks
struct gcc_debug_hooks dwarf2_debug_hooks
struct gcc_debug_hooks vmsdbg_debug_hooks

Function Documentation

void add_debug_prefix_map ( const char *  )
void debug_nothing_charstar ( const char *  )
void debug_nothing_int ( unsigned  int)
void debug_nothing_int_charstar ( unsigned  int,
const char *   
)

Referenced by output_loc_sequence_raw().

void debug_nothing_int_charstar_int_bool ( unsigned  int,
const char *  ,
int  ,
bool   
)
void debug_nothing_int_int ( unsigned  int,
unsigned  int 
)
void debug_nothing_rtx ( rtx  )
void debug_nothing_rtx_rtx ( rtx  ,
rtx   
)
void debug_nothing_tree ( tree  )
void debug_nothing_tree_int ( tree  ,
int   
)
void debug_nothing_tree_tree ( tree  ,
tree   
)
void debug_nothing_tree_tree_tree_bool ( tree  ,
tree  ,
tree  ,
bool   
)
void debug_nothing_void ( void  )
   The do-nothing hooks.  
   This file contains implementations of each debug hook that do
   nothing.  
bool debug_true_const_tree ( const_tree  )
struct gcc_debug_hooks* dump_go_spec_init ( const char *  ,
const struct gcc_debug_hooks  
)
read
   For -fdump-go-spec.  
void dwarf2out_begin_prologue ( unsigned int  line,
const char *  file 
)
   Dwarf2 frame information.  
   Output a marker (i.e. a label) for the beginning of a function, before
   the prologue.  
     ??? current_function_func_begin_label is also used by except.c for
     call-site information.  We must emit this label if it might be used.  
     We can elide the fde allocation if we're not emitting debug info.  
     Cater to the various TARGET_ASM_OUTPUT_MI_THUNK implementations that
     emit insns as rtx but bypass the bulk of rest_of_compilation, which
     would include pass_dwarf2_frame.  If we've not created the FDE yet,
     do so now.  
     Initialize the bits of CURRENT_FDE that were not available earlier.  
     We only want to output line number information for the genuine dwarf2
     prologue case, not the eh frame case.  
         We cannot keep a current personality per function as without CFI
         asm, at the point where we emit the CFI data, there is no current
         function anymore.  

Referenced by output_loc_sequence_raw().

bool dwarf2out_do_cfi_asm ( void  )
   Decide whether to emit frame unwind via assembler directives.  
     Assume failure for a moment.  
     Make sure the personality encoding is one the assembler can support.
     In particular, aligned addresses can't be handled.  
     If we can't get the assembler to emit only .debug_frame, and we don't need
     dwarf2 unwind info for exceptions, then emit .debug_frame by hand.  
     Success!  

Referenced by append_entry_to_tmpl_value_parm_die_table().

bool dwarf2out_do_frame ( void  )
   Decide whether we want to emit frame unwind information for the current
   translation unit.  
     We want to emit correct CFA location expressions or lists, so we
     have to return true if we're going to output debug info, even if
     we're not going to output frame or unwind info.  
void dwarf2out_end_epilogue ( unsigned int  line,
const char *  file 
)
   Output a marker (i.e. a label) for the absolute end of the generated code
   for a function definition.  This gets called *after* the epilogue code has
   been generated.  
     Output a label to mark the endpoint of the code generated for this
     function.  

Referenced by output_loc_sequence_raw().

void dwarf2out_frame_finish ( void  )
     Output call frame information.  
     Output another copy for the unwinder.  
void dwarf2out_switch_text_section ( void  )
     There is no need to mark used sections when not debugging.  
     Now do the real section switch.  

Referenced by output_loc_sequence_raw().

void dwarf2out_vms_begin_epilogue ( unsigned int  line,
const char *  file 
)
   Output a marker (i.e. a label) for the beginning of the generated code
   for a function epilogue.  This gets called *before* the prologue code has
   been generated.  
     Output a label to mark the endpoint of the code generated for this
     function.  

Referenced by output_loc_sequence_raw().

void dwarf2out_vms_end_prologue ( unsigned int  line,
const char *  file 
)
   Output a marker (i.e. a label) for the end of the generated code
   for a function prologue.  This gets called *after* the prologue code has
   been generated.  
     Output a label to mark the endpoint of the code generated for this
     function.  

References targetm.

Referenced by output_loc_sequence_raw().

const char* remap_debug_filename ( const char *  )

Referenced by dbxout_typedefs().


Variable Documentation

struct gcc_debug_hooks dbx_debug_hooks
struct gcc_debug_hooks do_nothing_debug_hooks
   Hooks for various debug formats.  
   Do-nothing debug hooks for GCC.
   Copyright (C) 2001-2013 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/>.  
   The do-nothing debug hooks.  
struct gcc_debug_hooks sdb_debug_hooks
   The debug hooks structure.  
struct gcc_debug_hooks vmsdbg_debug_hooks
   The debug hooks structure.  
struct gcc_debug_hooks xcoff_debug_hooks