diff options
Diffstat (limited to 'gcc/sdbout.c')
-rw-r--r-- | gcc/sdbout.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/gcc/sdbout.c b/gcc/sdbout.c index 575113422ba..15d0805e230 100644 --- a/gcc/sdbout.c +++ b/gcc/sdbout.c @@ -125,7 +125,8 @@ static void sdbout_begin_block (unsigned int, unsigned int); static void sdbout_end_block (unsigned int, unsigned int); static void sdbout_source_line (unsigned int, const char *, int, bool); static void sdbout_end_epilogue (unsigned int, const char *); -static void sdbout_global_decl (tree); +static void sdbout_early_global_decl (tree); +static void sdbout_late_global_decl (tree); static void sdbout_begin_prologue (unsigned int, const char *); static void sdbout_end_prologue (unsigned int, const char *); static void sdbout_begin_function (tree); @@ -148,7 +149,6 @@ static void sdbout_field_types (tree); static void sdbout_one_type (tree); static void sdbout_parms (tree); static void sdbout_reg_parms (tree); -static void sdbout_global_decl (tree); /* Random macros describing parts of SDB data. */ @@ -285,6 +285,7 @@ const struct gcc_debug_hooks sdb_debug_hooks = { sdbout_init, /* init */ sdbout_finish, /* finish */ + debug_nothing_void, /* early_finish */ debug_nothing_void, /* assembly_start */ debug_nothing_int_charstar, /* define */ debug_nothing_int_charstar, /* undef */ @@ -301,7 +302,8 @@ const struct gcc_debug_hooks sdb_debug_hooks = sdbout_begin_function, /* begin_function */ sdbout_end_function, /* end_function */ debug_nothing_tree, /* function_decl */ - sdbout_global_decl, /* global_decl */ + sdbout_early_global_decl, /* early_global_decl */ + sdbout_late_global_decl, /* late_global_decl */ sdbout_symbol, /* type_decl */ debug_nothing_tree_tree_tree_bool, /* imported_module_or_decl */ debug_nothing_tree, /* deferred_inline_function */ @@ -1427,11 +1429,20 @@ sdbout_reg_parms (tree parms) } } -/* Output debug information for a global DECL. Called from toplev.c - after compilation proper has finished. */ +/* Output early debug information for a global DECL. Called from + rest_of_decl_compilation during parsing. */ static void -sdbout_global_decl (tree decl) +sdbout_early_global_decl (tree decl ATTRIBUTE_UNUSED) +{ + /* NYI for non-dwarf. */ +} + +/* Output late debug information for a global DECL after location + information is available. */ + +static void +sdbout_late_global_decl (tree decl) { if (TREE_CODE (decl) == VAR_DECL && !DECL_EXTERNAL (decl) |