summaryrefslogtreecommitdiff
path: root/gcc/sdbout.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/sdbout.c')
-rw-r--r--gcc/sdbout.c23
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)