recent toplev.c changes break eh
Mark Mitchell
mark@codesourcery.com
Mon Apr 26 15:29:00 GMT 1999
>>>>> "Per" == Per Bothner <bothner@cygnus.com> writes:
Per> The following change is badly broken:
Per> This breaks things badly, because this functions called
Per> *before* output_exception_table. Before the re-write, the
Per> cancel was done *after* the output_exception_table.
Per> This makes the Java front-end unusable.
Well, not *that* badly. Here's a patch which should restore the
behavior you desired. Please verify this, and check in the patch,
assuming it works. It can go in under the "obvious fix" rule, since
the effect of this patch will be to make things exactly as they were
before the change, which was my original intent. All I wanted to do
was to split out a function or two for the C++ front-end.
BTW, it would have been helpful if a) you had provided a test-case and
b) that test-case had been in some test-suite. I ran the tests before
check-in, and did not notice any failures. I would have expected
making the Java front-end unusable would have resulted in some failure
somewhere. (Did I miss the test failure? That's possible, too.)
--
Mark Mitchell mark@codesourcery.com
CodeSourcery, LLC http://www.codesourcery.com
Mon Apr 26 15:27:33 1999 Mark Mitchell <mark@codesourcery.com>
* toplev.c (compile_file): Move call to check_global_declarations
after output_exception_table to restore behavior as it was before
1999-04-22 change.
Index: toplev.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/toplev.c,v
retrieving revision 1.180
diff -u -p -r1.180 toplev.c
--- toplev.c 1999/04/26 00:07:58 1.180
+++ toplev.c 1999/04/26 22:23:59
@@ -3284,7 +3284,6 @@ compile_file (name)
vec[len - i - 1] = decl;
wrapup_global_declarations (vec, len);
- check_global_declarations (vec, len);
/* This must occur after the loop to output deferred functions. Else
the profiler initializer would not be emitted if all the functions
@@ -3299,6 +3298,8 @@ compile_file (name)
the exception table. */
output_exception_table ();
+
+ check_global_declarations (vec, len);
}
/* Write out any pending weak symbol declarations. */
More information about the Gcc-bugs
mailing list