diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index ca2ac716d0a04a8d67487512249d52157159d7ae..4634c2e8342c05a106f2eadc68ebaa2ee0526d9c 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2000-04-16  Jason Merrill  <jason@casey.cygnus.com>
+
+	* decl.c (decls_match): Allow a redeclaration of a builtin to
+	specify args while the builtin did not.
+
 2000-04-15  Mark Mitchell  <mark@codesourcery.com>
 
 	* cp-tree.def (THUNK_DECL): Add to documentation.
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 69a868f4021dab9317c20f71a5e59483d4fd245c..2760ea5605b39cde6a488abacc85f0fce027bfb1 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -2936,7 +2936,8 @@ decls_match (newdecl, olddecl)
 
       if (same_type_p (TREE_TYPE (f1), TREE_TYPE (f2)))
 	{
-	  if (! strict_prototypes_lang_c && DECL_LANGUAGE (olddecl) == lang_c
+	  if ((! strict_prototypes_lang_c || DECL_BUILT_IN (olddecl))
+	      && DECL_LANGUAGE (olddecl) == lang_c
 	      && p2 == NULL_TREE)
 	    {
 	      types_match = self_promoting_args_p (p1);