recent toplev.c changes break eh

Per Bothner
Mon Apr 26 15:14:00 GMT 1999

The following change is badly broken:

Thu Apr 22 23:08:37 1999  Mark Mitchell  <>

	* toplev.h (wrapup_global_declarations): Declare.
	(check_global_declarations): Likewise.
	* toplev.c (wrapup_global_declarations): New function, split out
	from ...
	(check_global_declarations): Likewise...
	(compile_file): Here.

The problem is this code in check_global_declarations:

	/* Cancel the RTL for this decl so that, if debugging info
	   output for global variables is still to come,
	   this one will be omitted.  */
	DECL_RTL (decl) = NULL;

This breaks things badly, because this functions called *before*
output_exception_table.  Before the re-write, the cancel was
done *after* the output_exception_table.

This makes the Java front-end unusable.

	--Per Bothner
Cygnus Solutions

More information about the Gcc-bugs mailing list