diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 6a00711a84660787a796e786126b1703da0a965d..76c7de3442846fb0365d94a18aa48dc32f638d0c 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2004-09-08  Ziemowit Laski  <zlaski@apple.com>
+
+	* cp-tree.h (do_poplevel): New prototype.
+	* semantics.c (do_poplevel): Make externally visible.
+
 2004-09-08  Nathan Sidwell  <nathan@codesourcery.com>
 
 	* cp-tree.h (tree_pair_s): Define a GC'd vector.
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 0204cc23ed78c08cc0cb46b1d8f49746ce92f6c0..0555883be1e6cba6f312ac5125ceed72099df544 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -4089,6 +4089,7 @@ extern void pop_to_parent_deferring_access_checks	(void);
 extern void perform_deferred_access_checks	(void);
 extern void perform_or_defer_access_check	(tree, tree);
 extern void init_cp_semantics                   (void);
+extern tree do_poplevel				(tree);
 extern void add_decl_expr			(tree);
 extern tree finish_expr_stmt                    (tree);
 extern tree begin_if_stmt                       (void);
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index fe687a0f618e9d8bb62effcecf2472a253aeef15..b31e1e2490ef96d7ecf235401559750eef3ebcdf 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -384,7 +384,7 @@ anon_aggr_type_p (tree node)
 
 /* Finish a scope.  */
 
-static tree
+tree
 do_poplevel (tree stmt_list)
 {
   tree block = NULL;