diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index b4e0fc921ad..b9a7fa591ba 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+1997-09-25  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* decl.c (init_decl_processing): Declare __builtin_constant_p as
+	accepting any kind of type, not only int.
+
 Fri Sep 26 00:22:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
 
 	* search.c (get_matching_virtual): Notice virtual bases when sorrying
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index df8066b1078..08a3dd54025 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -5099,7 +5099,7 @@ init_decl_processing ()
   else
     delta_type_node = short_integer_type_node;
 
-  builtin_function ("__builtin_constant_p", int_ftype_int,
+  builtin_function ("__builtin_constant_p", default_function_type,
 		    BUILT_IN_CONSTANT_P, NULL_PTR);
 
   builtin_return_address_fndecl