GCC Middle and Back End API Reference
debug.h File Reference
This graph shows which files directly or indirectly include this file:

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.   

References GTY.

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 *  )

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 dwarf2_debug_hooks

The debug hooks structure.

struct gcc_debug_hooks sdb_debug_hooks
struct gcc_debug_hooks vmsdbg_debug_hooks
struct gcc_debug_hooks xcoff_debug_hooks