re PR java/37068 (libgcj linkage failure: Incorrect library ABI version detected)

2008-11-04  Andrew Haley  <aph@redhat.com>

        PR java/37068
        * jcf-parse.c (java_emit_static_constructor): Don't call
        cgraph_build_static_cdtor.  Rewrite.

From-SVN: r141604
This commit is contained in:
Andrew Haley 2008-11-05 10:05:03 +00:00 committed by Andrew Haley
parent 34e4536eaf
commit 08906bf8a2
2 changed files with 33 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2008-11-04 Andrew Haley <aph@redhat.com>
PR java/37068
* jcf-parse.c (java_emit_static_constructor): Don't call
cgraph_build_static_cdtor. Rewrite.
2008-10-24 Jakub Jelinek <jakub@redhat.com>
* Make-lang.in (check-java-subtargets): New target.

View File

@ -1699,7 +1699,33 @@ java_emit_static_constructor (void)
write_resource_constructor (&body);
if (body)
cgraph_build_static_cdtor ('I', body, DEFAULT_INIT_PRIORITY);
{
tree name = get_identifier ("_Jv_global_static_constructor");
tree decl
= build_decl (FUNCTION_DECL, name,
build_function_type (void_type_node, void_list_node));
tree resdecl = build_decl (RESULT_DECL, NULL_TREE, void_type_node);
DECL_ARTIFICIAL (resdecl) = 1;
DECL_RESULT (decl) = resdecl;
current_function_decl = decl;
allocate_struct_function (decl, false);
TREE_STATIC (decl) = 1;
TREE_USED (decl) = 1;
DECL_ARTIFICIAL (decl) = 1;
DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT (decl) = 1;
DECL_SAVED_TREE (decl) = body;
DECL_UNINLINABLE (decl) = 1;
DECL_INITIAL (decl) = make_node (BLOCK);
TREE_USED (DECL_INITIAL (decl)) = 1;
DECL_STATIC_CONSTRUCTOR (decl) = 1;
java_genericize (decl);
cgraph_finalize_function (decl, false);
}
}