semantics.c (simplify_aggr_init_exprs_r): Remove.
authorRichard Guenther <rguenther@suse.de>
Tue, 21 Oct 2008 10:33:15 +0000 (10:33 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 21 Oct 2008 10:33:15 +0000 (10:33 +0000)
2008-10-21  Richard Guenther  <rguenther@suse.de>

* semantics.c (simplify_aggr_init_exprs_r): Remove.
(expand_or_defer_fn): Do not walk the function body to
simplify aggr_init_exprs.

From-SVN: r141260

gcc/cp/ChangeLog
gcc/cp/semantics.c

index 3d30c15..24891d6 100644 (file)
@@ -1,3 +1,9 @@
+2008-10-21  Richard Guenther  <rguenther@suse.de>
+
+       * semantics.c (simplify_aggr_init_exprs_r): Remove.
+       (expand_or_defer_fn): Do not walk the function body to
+       simplify aggr_init_exprs.
+
 2008-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
 
        PR c++/37004
index 040a9b1..664f36d 100644 (file)
@@ -54,7 +54,6 @@ along with GCC; see the file COPYING3.  If not see
    degenerate form of parsing.  */
 
 static tree maybe_convert_cond (tree);
-static tree simplify_aggr_init_exprs_r (tree *, int *, void *);
 static tree finalize_nrv_r (tree *, int *, void *);
 
 
@@ -3056,34 +3055,6 @@ finish_offsetof (tree expr)
   return fold_offsetof (expr, NULL_TREE);
 }
 
-/* Called from expand_body via walk_tree.  Replace all AGGR_INIT_EXPRs
-   with equivalent CALL_EXPRs.  */
-
-static tree
-simplify_aggr_init_exprs_r (tree* tp,
-                           int* walk_subtrees,
-                           void* data ATTRIBUTE_UNUSED)
-{
-  /* We don't need to walk into types; there's nothing in a type that
-     needs simplification.  (And, furthermore, there are places we
-     actively don't want to go.  For example, we don't want to wander
-     into the default arguments for a FUNCTION_DECL that appears in a
-     CALL_EXPR.)  */
-  if (TYPE_P (*tp))
-    {
-      *walk_subtrees = 0;
-      return NULL_TREE;
-    }
-  /* Only AGGR_INIT_EXPRs are interesting.  */
-  else if (TREE_CODE (*tp) != AGGR_INIT_EXPR)
-    return NULL_TREE;
-
-  simplify_aggr_init_expr (tp);
-
-  /* Keep iterating.  */
-  return NULL_TREE;
-}
-
 /* Replace the AGGR_INIT_EXPR at *TP with an equivalent CALL_EXPR.  This
    function is broken out from the above for the benefit of the tree-ssa
    project.  */
@@ -3206,11 +3177,6 @@ expand_or_defer_fn (tree fn)
 
   gcc_assert (gimple_body (fn));
 
-  /* Replace AGGR_INIT_EXPRs with appropriate CALL_EXPRs.  */
-  cp_walk_tree_without_duplicates (&DECL_SAVED_TREE (fn),
-                                  simplify_aggr_init_exprs_r,
-                                  NULL);
-
   /* If this is a constructor or destructor body, we have to clone
      it.  */
   if (maybe_clone_body (fn))