[Bug java/52730] Java front end emits assembly
steven at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Mar 26 20:54:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52730
Steven Bosscher <steven at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|bootstrap |java
Version|4.7.0 |4.8.0
Summary|[4.8 Regression] bootstrap |Java front end emits
|failure on Linux/ia32 |assembly
--- Comment #2 from Steven Bosscher <steven at gcc dot gnu.org> 2012-03-26 20:18:49 UTC ---
I believe the following should fix the problem, altough I fail to see how this
can ever have worked with LTO. HJ, could you test this for me, please? I have
no access to ia32 anymore.
Index: class.c
===================================================================
--- class.c (revision 185813)
+++ class.c (working copy)
@@ -3241,6 +3241,7 @@ java_write_globals (void)
write_global_declarations ();
emit_debug_global_declarations (vec, len);
VEC_free (tree, gc, pending_static_fields);
+ java_emit_static_constructor ();
}
#include "gt-java-class.h"
Index: jcf-parse.c
===================================================================
--- jcf-parse.c (revision 185813)
+++ jcf-parse.c (working copy)
@@ -1689,7 +1689,7 @@ predefined_filename_p (tree node)
/* Generate a function that does all static initialization for this
translation unit. */
-static void
+void
java_emit_static_constructor (void)
{
tree body = NULL;
@@ -1974,8 +1974,6 @@ java_parse_file (void)
bitmap_obstack_release (&bit_obstack);
finish:
- /* Arrange for any necessary initialization to happen. */
- java_emit_static_constructor ();
gcc_assert (global_bindings_p ());
}
Index: java-tree.h
===================================================================
--- java-tree.h (revision 185813)
+++ java-tree.h (working copy)
@@ -940,6 +940,7 @@ struct GTY((variable_size)) lang_type {
struct eh_range;
extern void java_parse_file (void);
+extern void java_emit_static_constructor (void);
extern tree java_type_for_mode (enum machine_mode, int);
extern tree java_type_for_size (unsigned int, int);
extern tree java_truthvalue_conversion (tree);
More information about the Gcc-bugs
mailing list