From 6d0918702e567af885fc7a24dad75fbd359d788f Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 5 Feb 2001 23:27:46 +0000 Subject: [PATCH] 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 --- gcc/java/ChangeLog | 6 ++++++ gcc/java/expr.c | 8 +++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 23f5c307e19..de1e16e2b76 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2001-02-04 Tom Tromey + + * 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 * parse.y (process_imports): Save the original name of the import diff --git a/gcc/java/expr.c b/gcc/java/expr.c index d74dfc035aa..70a2fe91276 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -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; } -- 2.30.2