Hello,
There is code in objc-act.c to save and restore debug hooks to work
around a problem with the C front end.
The C front end calls debug hooks before they have been initialized.
This is a problem for dbxout, so there is code in dbxout.c to handle
the problem, see dbxout.c:preinit_symbols. This work-around code was
introduced in r77730.
In parallel, Apple was working on the big ObjC/ObjC++ merge (r87168),
and apparently they worked around the same problem all over again.
That look unnecessary to me.
Bootstrapped and tested on x86_64-unknown-linux-gnu. OK for trunk?
Ciao!
Steven
objc/
* objc-act.c: Do not include debug.h.
(synth_module_prologue): Do not save/restore write_symbols
and debug_hooks.
Index: objc/objc-act.c
===================================================================
--- objc/objc-act.c (revision 189469)
+++ objc/objc-act.c (working copy)
@@ -45,7 +45,6 @@ along with GCC; see the file COPYING3.
#include "function.h"
#include "toplev.h"
#include "ggc.h"
-#include "debug.h"
#include "c-family/c-target.h"
#include "diagnostic-core.h"
#include "intl.h"
@@ -2904,13 +2903,6 @@ static void
synth_module_prologue (void)
{
tree type;
- enum debug_info_type save_write_symbols = write_symbols;
- const struct gcc_debug_hooks *const save_hooks = debug_hooks;
-
- /* Suppress outputting debug symbols, because
- dbxout_init hasn't been called yet. */
- write_symbols = NO_DEBUG;
- debug_hooks = &do_nothing_debug_hooks;
#ifdef OBJCPLUS
push_lang_context (lang_name_c); /* extern "C" */
@@ -2997,9 +2989,6 @@ synth_module_prologue (void)
#ifdef OBJCPLUS
pop_lang_context ();
#endif
-
- write_symbols = save_write_symbols;
- debug_hooks = save_hooks;
}
/* --- const strings --- */