summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/java/expr.c7
-rw-r--r--gcc/java/parse.y6
2 files changed, 3 insertions, 10 deletions
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index a7cb59efcc5..e3eaf352551 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 8b33fadf85c..a75e3f97ecc 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;
}
OpenPOWER on IntegriCloud