aboutsummaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authorZack Weinberg <zack@codesourcery.com>2004-02-12 21:42:28 +0000
committerZack Weinberg <zack@gcc.gnu.org>2004-02-12 21:42:28 +0000
commit21d13d8372447885e205a86f4b1c41d437d6dd1e (patch)
treecfa7bbb13d0bfc85e73ea5724b507a1d241d14d5 /gcc/toplev.c
parent3c419fd66aac3fbb17911c838fa47918548a15b9 (diff)
downloadgcc-21d13d8372447885e205a86f4b1c41d437d6dd1e.zip
gcc-21d13d8372447885e205a86f4b1c41d437d6dd1e.tar.gz
gcc-21d13d8372447885e205a86f4b1c41d437d6dd1e.tar.bz2
debug.h (struct gcc_debug_hooks): Add type_decl field.
* debug.h (struct gcc_debug_hooks): Add type_decl field. (debug_nothing_tree_int): Prototype. (dwarf_debug_hooks): Delete, unused. * debug.c (do_nothing_debug_hooks): Update. (debug_nothing_tree_int): New function. * langhooks.h (struct lang_hooks_for_decls): Remove builtin_type_decls field. * langhooks-def.h (LANG_HOOKS_BUILTIN_TYPE_DECLS): Delete. (LANG_HOOKS_DECLS): Update. * toplev.c (rest_of_decl_compilation, rest_of_type_compilation): Use debug_hooks->type_decl. * dbxout.c (preinit_symbols): New static. (dbx_debug_hooks, xcoff_debug_hooks): Update. (dbxout_init): Don't call DBX_OUTPUT_STANDARD_TYPES or lang_hooks.decls.builtin_type_decls. Do scan preinit_symbols for symbols to output. (dbxout_type_decl): New function. (dbxout_symbol): If called before dbxout_init has run, queue the symbol for later. Apply DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER to TYPE_DECLs before emitting them. * xcoffout.c (assign_type_number): Delete. (xcoff_type_numbers): New static table. (xcoff_assign_fundamental_type_number): New function. * xcoffout.h: Define DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER, not DBX_OUTPUT_STANDARD_TYPES. Remove unnecessary #ifdefs. * sdbout.c: Include varray.h. (deferred_global_decls): New static. (sdb_debug_hooks): Update. (sdbout_global_decl): If we can't emit something right now, remember it in deferred_global_decls. (sdbout_finish): Just scan deferred_global_decls; don't call getdecls. (sdbout_init): Initialize deferred_global_decls. * Makefile.in: Update dependencies of sdbout.o. * dwarf2out.c (dwarf2out_type_decl): New function. (dwarf2_debug_hooks): Update. * vmsdbgout.c (vmsdbg_debug_hooks): Update. * c-decl.c (getdecls): Just return 0. (check_for_loop_decls): Don't use getdecls. (record_builtin_type): Call debug_hooks->type_decl on the TYPE_DECL. * c-objc-common.c (c_objc_common_finish_file): Don't use getdecls. cp: * cp-lang.c: Don't define LANG_HOOKS_BUILTIN_TYPE_DECLS. * cp-tree.h: Don't declare cxx_builtin_type_decls. * decl.c (builtin_type_decls, cxx_builtin_type_decls): Delete. (record_builtin_type): Call debug_hooks->type_decl on the TYPE_DECL. From-SVN: r77730
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c53
1 files changed, 4 insertions, 49 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 8330c89..763c5d0 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1978,50 +1978,18 @@ rest_of_decl_compilation (tree decl,
expand_decl (decl);
}
}
-#if defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO)
- else if ((write_symbols == DBX_DEBUG || write_symbols == XCOFF_DEBUG)
- && TREE_CODE (decl) == TYPE_DECL)
+ else if (TREE_CODE (decl) == TYPE_DECL)
{
timevar_push (TV_SYMOUT);
- dbxout_symbol (decl, 0);
+ debug_hooks->type_decl (decl, !top_level);
timevar_pop (TV_SYMOUT);
}
-#endif
-#ifdef SDB_DEBUGGING_INFO
- else if (write_symbols == SDB_DEBUG && top_level
- && TREE_CODE (decl) == TYPE_DECL)
- {
- timevar_push (TV_SYMOUT);
- sdbout_symbol (decl, 0);
- timevar_pop (TV_SYMOUT);
- }
-#endif
-#ifdef DWARF2_DEBUGGING_INFO
- else if ((write_symbols == DWARF2_DEBUG
- || write_symbols == VMS_AND_DWARF2_DEBUG)
- && top_level
- && TREE_CODE (decl) == TYPE_DECL)
- {
- timevar_push (TV_SYMOUT);
- dwarf2out_decl (decl);
- timevar_pop (TV_SYMOUT);
- }
-#endif
}
/* Called after finishing a record, union or enumeral type. */
void
-rest_of_type_compilation (
-#if defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO) \
- || defined (SDB_DEBUGGING_INFO) || defined (DWARF2_DEBUGGING_INFO)
- tree type,
- int toplev
-#else
- tree type ATTRIBUTE_UNUSED,
- int toplev ATTRIBUTE_UNUSED
-#endif
- )
+rest_of_type_compilation (tree type, int toplev)
{
/* Avoid confusing the debug information machinery when there are
errors. */
@@ -2029,20 +1997,7 @@ rest_of_type_compilation (
return;
timevar_push (TV_SYMOUT);
-#if defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO)
- if (write_symbols == DBX_DEBUG || write_symbols == XCOFF_DEBUG)
- dbxout_symbol (TYPE_STUB_DECL (type), !toplev);
-#endif
-#ifdef SDB_DEBUGGING_INFO
- if (write_symbols == SDB_DEBUG)
- sdbout_symbol (TYPE_STUB_DECL (type), !toplev);
-#endif
-#ifdef DWARF2_DEBUGGING_INFO
- if ((write_symbols == DWARF2_DEBUG
- || write_symbols == VMS_AND_DWARF2_DEBUG)
- && toplev)
- dwarf2out_decl (TYPE_STUB_DECL (type));
-#endif
+ debug_hooks->type_decl (TYPE_STUB_DECL (type), !toplev);
timevar_pop (TV_SYMOUT);
}