re PR java/1866 (Array initializer: undefined reference to `LJv0.0')

* expr.c (java_lang_expand_expr): Don't bother recomputing
	`length'.  Use rest_of_decl_compilation, not make_decl_rtl.
	Fixes PR java/1866.

From-SVN: r39470
This commit is contained in:
Tom Tromey 2001-02-05 23:27:46 +00:00 committed by Tom Tromey
parent 56cf87e779
commit 6d0918702e
2 changed files with 9 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2001-02-04 Tom Tromey <tromey@redhat.com>
* expr.c (java_lang_expand_expr): Don't bother recomputing
`length'. Use rest_of_decl_compilation, not make_decl_rtl.
Fixes PR java/1866.
2001-02-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (process_imports): Save the original name of the import

View File

@ -2388,9 +2388,7 @@ java_lang_expand_expr (exp, target, tmode, modifier)
FINISH_RECORD_CONSTRUCTOR (temp);
START_RECORD_CONSTRUCTOR (value, array_type);
PUSH_SUPER_VALUE (value, temp);
/* FIXME: build a new `length' here to get it on the right
obstack. */
PUSH_FIELD_VALUE (value, "length", build_int_2 (ilength, 0));
PUSH_FIELD_VALUE (value, "length", length);
PUSH_FIELD_VALUE (value, "data", init);
FINISH_RECORD_CONSTRUCTOR (value);
@ -2400,7 +2398,7 @@ java_lang_expand_expr (exp, target, tmode, modifier)
DECL_INITIAL (init_decl) = value;
DECL_IGNORED_P (init_decl) = 1;
TREE_READONLY (init_decl) = 1;
make_decl_rtl (init_decl, NULL);
rest_of_decl_compilation (init_decl, NULL, 1, 0);
TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (init_decl)) = 1;
init = build1 (ADDR_EXPR, TREE_TYPE (exp), init_decl);
r = expand_expr (init, target, tmode, modifier);
@ -2423,7 +2421,7 @@ java_lang_expand_expr (exp, target, tmode, modifier)
DECL_INITIAL (init_decl) = init;
DECL_IGNORED_P (init_decl) = 1;
TREE_READONLY (init_decl) = 1;
make_decl_rtl (init_decl, NULL);
rest_of_decl_compilation (init_decl, NULL, 1, 0);
TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (init_decl)) = 1;
init = init_decl;
}