aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/expr.c
diff options
context:
space:
mode:
authorAnthony Green <green@cygnus.com>2000-01-07 23:07:52 +0000
committerAlexandre Petit-Bianco <apbianco@gcc.gnu.org>2000-01-07 15:07:52 -0800
commitf626e9fa21d9844a5faf260f23147cc4b69e4bd3 (patch)
tree11ef2e79456dee829b733bfff74b660f56ea9439 /gcc/java/expr.c
parent8421850fbfb6c282d6dcbd6296557e7c9863fa79 (diff)
downloadgcc-f626e9fa21d9844a5faf260f23147cc4b69e4bd3.zip
gcc-f626e9fa21d9844a5faf260f23147cc4b69e4bd3.tar.gz
gcc-f626e9fa21d9844a5faf260f23147cc4b69e4bd3.tar.bz2
expr.c (java_lang_expand_expr): Switch to permanent obstack before building constant array decl.
Thu Jan 6 16:31:28 2000 Anthony Green <green@cygnus.com> * expr.c (java_lang_expand_expr): Switch to permanent obstack before building constant array decl. From-SVN: r31283
Diffstat (limited to 'gcc/java/expr.c')
-rw-r--r--gcc/java/expr.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index 411cc75..30f1231 100644
--- a/gcc/java/expr.c
+++ b/gcc/java/expr.c
@@ -1944,8 +1944,10 @@ java_lang_expand_expr (exp, target, tmode, modifier)
if (TREE_CONSTANT (init)
&& ilength >= 10 && JPRIMITIVE_TYPE_P (element_type))
{
- tree init_decl = build_decl (VAR_DECL, generate_name (),
- TREE_TYPE (init));
+ tree init_decl;
+ push_obstacks (&permanent_obstack, &permanent_obstack);
+ init_decl = build_decl (VAR_DECL, generate_name (),
+ TREE_TYPE (init));
pushdecl_top_level (init_decl);
TREE_STATIC (init_decl) = 1;
DECL_INITIAL (init_decl) = init;
@@ -1953,6 +1955,7 @@ java_lang_expand_expr (exp, target, tmode, modifier)
TREE_READONLY (init_decl) = 1;
TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (init_decl)) = 1;
make_decl_rtl (init_decl, NULL, 1);
+ pop_obstacks ();
init = init_decl;
}
expand_assignment (build (COMPONENT_REF, TREE_TYPE (data_fld),