diff options
author | Pierre-Marie de Rodat <derodat@adacore.com> | 2015-06-11 12:40:10 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2015-06-11 12:40:10 +0000 |
commit | 881a5e608a945bebcfbefcf8c521a2e481610789 (patch) | |
tree | f7c9d03a32db11d1b9f07488e40eac40beba11a8 /gcc/debug.h | |
parent | f13c4673a54c76a1c92018d630f48126349732b0 (diff) | |
download | gcc-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.h | 4 |
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 |