diff options
| author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-05 23:27:46 +0000 |
|---|---|---|
| committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-05 23:27:46 +0000 |
| commit | b8e30afc5cef40d44cd9d869d86151702838f536 (patch) | |
| tree | 74e6b4dac5ca2af6422c493d78c40101e2f92e7f /gcc/java/expr.c | |
| parent | 0ac32a7e931f23659410706bce4e923644321253 (diff) | |
| download | ppe42-gcc-b8e30afc5cef40d44cd9d869d86151702838f536.tar.gz ppe42-gcc-b8e30afc5cef40d44cd9d869d86151702838f536.zip | |
* expr.c (java_lang_expand_expr): Don't bother recomputing
`length'. Use rest_of_decl_compilation, not make_decl_rtl.
Fixes PR java/1866.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39470 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java/expr.c')
| -rw-r--r-- | gcc/java/expr.c | 8 |
1 files changed, 3 insertions, 5 deletions
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; } |

