aboutsummaryrefslogtreecommitdiff
path: root/gcc/debug.h
diff options
context:
space:
mode:
authorPierre-Marie de Rodat <derodat@adacore.com>2015-06-11 12:40:10 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2015-06-11 12:40:10 +0000
commit881a5e608a945bebcfbefcf8c521a2e481610789 (patch)
treef7c9d03a32db11d1b9f07488e40eac40beba11a8 /gcc/debug.h
parentf13c4673a54c76a1c92018d630f48126349732b0 (diff)
downloadgcc-881a5e608a945bebcfbefcf8c521a2e481610789.zip
gcc-881a5e608a945bebcfbefcf8c521a2e481610789.tar.gz
gcc-881a5e608a945bebcfbefcf8c521a2e481610789.tar.bz2
Restore DW_AT_abstract_origin for cross-unit call sites
PR debug/66503 gcc/ChangeLog: * debug.h (struct gcc_debug_hooks): Add a register_main_translation_unit hook. * debug.c (do_nothing_debug_hooks): Provide a function for this new hook. * dbxout.c (dbx_debug_hooks): Likewise. * sdbout.c (sdb_debug_hooks): Likewise. * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. * dwarf2out.c (main_translation_unit): New global variable. (dwarf2out_register_main_translation_unit): New function implementing the new hook. (dwarf2_debug_hooks): Assign dwarf2out_register_main_translation_unit to this new hook. (dwarf2out_init): Associate any main translation unit to comp_unit_die (). * c/c-decl.c (pop_scope): Register the main translation unit through the new debug hook. * cp/decl.c (cxx_init_decl_processing): Likewise. gcc/ada/ChangeLog: * gcc-interface/utils.c (get_global_context): Register the main translation unit through the new debug hook. gcc/fortran/ChangeLog: * f95-lang.c (gfc_create_decls): Register the main translation unit through the new debug hook. From-SVN: r224371
Diffstat (limited to 'gcc/debug.h')
-rw-r--r--gcc/debug.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/debug.h b/gcc/debug.h
index e7e1334..269c4d8 100644
--- a/gcc/debug.h
+++ b/gcc/debug.h
@@ -89,6 +89,10 @@ struct gcc_debug_hooks
/* Record end of function. LINE is highest line number in function. */
void (* end_function) (unsigned int line);
+ /* Register UNIT as the main translation unit. Called from front-ends when
+ they create their main translation unit. */
+ void (* register_main_translation_unit) (tree);
+
/* Debug information for a function DECL. This might include the
function name (a symbol), its parameters, and the block that
makes up the function's body, and the local variables of the