diff --git a/gcc/java/expr.c b/gcc/java/expr.c index a7cb59efcc590f9a942d4d4183342712afcfee98..e3eaf3525514195606822d02676d4cb7f8ff4446 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -2168,13 +2168,8 @@ build_jni_stub (method) TREE_PUBLIC (meth_var) = 0; DECL_EXTERNAL (meth_var) = 0; DECL_CONTEXT (meth_var) = method; - DECL_ARTIFICIAL (meth_var) = 1; - DECL_INITIAL (meth_var) = null_pointer_node; - TREE_USED (meth_var) = 1; - chainon (env_var, meth_var); - layout_decl (meth_var, 0); make_decl_rtl (meth_var, NULL); - rest_of_decl_compilation (meth_var, NULL, 0, 0); + meth_var = pushdecl_top_level (meth_var); /* One strange way that the front ends are different is that they store arguments differently. */ diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 8b33fadf85c0399e22985e341b3e0adf8502bbfd..a75e3f97ecc859e4eacb0b1c660fc86505b0d308 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -1,6 +1,6 @@ /* Source code parsing and tree node generation for the GNU compiler for the Java(TM) language. - Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. Contributed by Alexandre Petit-Bianco (apbianco@cygnus.com) This file is part of GNU CC. @@ -7723,9 +7723,7 @@ java_complete_expand_methods (class_decl) if (METHOD_NATIVE (decl)) { - tree body; - current_function_decl = decl; - body = build_jni_stub (decl); + tree body = build_jni_stub (decl); BLOCK_EXPR_BODY (DECL_FUNCTION_BODY (decl)) = body; }