From: Daniel Jacobowitz Date: Mon, 24 Mar 2003 04:02:23 +0000 (+0000) Subject: re PR target/9797 ([ARM] miscompiles C99-style struct initializers) X-Git-Tag: releases/gcc-3.2.3~77 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4c3f0abeb6415ac9ff6be223ce19ccf392af1345;p=thirdparty%2Fgcc.git re PR target/9797 ([ARM] miscompiles C99-style struct initializers) Fix PR target/9797. * stmt.c (expand_decl_init): Call push_temp_slots () and pop_temp_slots (). From-SVN: r64776 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8002e2b3a06e..06c56fc1d7ca 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-03-23 Daniel Jacobowitz + + Fix PR target/9797. + * stmt.c (expand_decl_init): Call push_temp_slots () and + pop_temp_slots (). + 2003-03-23 Richard Henderson * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps diff --git a/gcc/stmt.c b/gcc/stmt.c index 3fdcbeea5d35..4ecbc5ecc36d 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -4062,6 +4062,8 @@ expand_decl_init (decl) /* Compute and store the initial value now. */ + push_temp_slots (); + if (DECL_INITIAL (decl) == error_mark_node) { enum tree_code code = TREE_CODE (TREE_TYPE (decl)); @@ -4085,6 +4087,7 @@ expand_decl_init (decl) /* Free any temporaries we made while initializing the decl. */ preserve_temp_slots (NULL_RTX); free_temp_slots (); + pop_temp_slots (); } /* CLEANUP is an expression to be executed at exit from this binding contour;