]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/9797 ([ARM] miscompiles C99-style struct initializers)
authorDaniel Jacobowitz <drow@mvista.com>
Mon, 24 Mar 2003 04:02:23 +0000 (04:02 +0000)
committerDaniel Jacobowitz <drow@gcc.gnu.org>
Mon, 24 Mar 2003 04:02:23 +0000 (04:02 +0000)
Fix PR target/9797.
* stmt.c (expand_decl_init): Call push_temp_slots () and
pop_temp_slots ().

From-SVN: r64776

gcc/ChangeLog
gcc/stmt.c

index 8002e2b3a06e237fd6ab7de966bc657c5cf50250..06c56fc1d7ca07432ca4142e0790be0cf2f0728c 100644 (file)
@@ -1,3 +1,9 @@
+2003-03-23  Daniel Jacobowitz  <drow@mvista.com>
+
+       Fix PR target/9797.
+       * stmt.c (expand_decl_init): Call push_temp_slots () and
+       pop_temp_slots ().
+
 2003-03-23  Richard Henderson  <rth@redhat.com>
      
         * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
index 3fdcbeea5d35373766c633101f4e1248ac60e683..4ecbc5ecc36d13399faea5651957a03090055bd1 100644 (file)
@@ -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;