expr.c (build_jni_stub): Ensure storage for `meth' is generated.

* expr.c (build_jni_stub): Ensure storage for `meth' is
	generated.
	* parse.y (java_complete_expand_methods): Set
	current_function_decl before building JNI stub.

From-SVN: r49286
This commit is contained in:
Tom Tromey 2002-01-28 16:52:27 +00:00 committed by Tom Tromey
parent 5a721dab82
commit adc8cb5dea
3 changed files with 17 additions and 3 deletions

View File

@ -1,3 +1,10 @@
2002-01-28 Tom Tromey <tromey@redhat.com>
* expr.c (build_jni_stub): Ensure storage for `meth' is
generated.
* parse.y (java_complete_expand_methods): Set
current_function_decl before building JNI stub.
2002-01-26 Andreas Tobler <a.tobler@schweiz.ch>
* gcc/java/builtins.c (sqrt_builtin): Use BUILT_IN_SQRT, not

View File

@ -2168,8 +2168,13 @@ 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);
meth_var = pushdecl_top_level (meth_var);
rest_of_decl_compilation (meth_var, NULL, 0, 0);
/* One strange way that the front ends are different is that they
store arguments differently. */

View File

@ -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 Free Software Foundation, Inc.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
Contributed by Alexandre Petit-Bianco (apbianco@cygnus.com)
This file is part of GNU CC.
@ -7723,7 +7723,9 @@ java_complete_expand_methods (class_decl)
if (METHOD_NATIVE (decl))
{
tree body = build_jni_stub (decl);
tree body;
current_function_decl = decl;
body = build_jni_stub (decl);
BLOCK_EXPR_BODY (DECL_FUNCTION_BODY (decl)) = body;
}