diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 6183bb8f06c25d7a7faa56c4c617c48d3044819f..704c7fc5ec0d8a269c40178817aef884654e8489 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2001-04-11  Mark Mitchell  <mark@codesourcery.com>
+
+	* optimize.c (maybe_clone_body): Copy DECL_NUM_STMTS from the
+	cloned function to the clone.
+
 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
 	* Make-lang.in (cp/semantics.o): Depend on $(EXPR_H).
diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c
index 5232491ef8e4f63f7e8d62a2a1dfdea1a16a01ca..8f6fd0e6fcfc1f27f82da31404d15dadb6fccb53 100644
--- a/gcc/cp/optimize.c
+++ b/gcc/cp/optimize.c
@@ -1114,6 +1114,10 @@ maybe_clone_body (fn)
       /* Actually copy the body.  */
       TREE_CHAIN (DECL_SAVED_TREE (clone)) = copy_body (&id);
 
+      /* There are as many statements in the clone as in the
+	 original.  */
+      DECL_NUM_STMTS (clone) = DECL_NUM_STMTS (fn);
+
       /* Clean up.  */
       splay_tree_delete (id.decl_map);
       VARRAY_FREE (id.fns);