diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index af55e29add394ecad609168fb6b73c9286bc5ff6..dc510ab472870687fcbe9bd22c756a6f2a120a2d 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2012-11-14  Jason Merrill  <jason@redhat.com>
+
+	PR c++/37276
+	* decl.c (decls_match): Remove #ifdef around earlier fix.
+
 2012-11-13  Jason Merrill  <jason@redhat.com>
 
 	* class.c (finish_struct_1): Check virtual functions
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 115c567d6ddb30a6fcc0564b75d582d97f5640b9..045e99b2080db6e7fc6af09a1d3a52f4fea86b5f 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -1017,13 +1017,11 @@ decls_match (tree newdecl, tree olddecl)
 		&& DECL_EXTERN_C_P (olddecl)))
 	return 0;
 
-#ifdef NO_IMPLICIT_EXTERN_C
       /* A new declaration doesn't match a built-in one unless it
 	 is also extern "C".  */
       if (DECL_IS_BUILTIN (olddecl)
 	  && DECL_EXTERN_C_P (olddecl) && !DECL_EXTERN_C_P (newdecl))
 	return 0;
-#endif
 
       if (TREE_CODE (f1) != TREE_CODE (f2))
 	return 0;