This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
C++ PATCH for c++/37276 (lookup/builtin5.C) on aix
- From: Jason Merrill <jason at redhat dot com>
- To: David Edelsohn <dje dot gcc at gmail dot com>
- Cc: gcc-patches List <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 14 Nov 2012 15:13:22 -0500
- Subject: C++ PATCH for c++/37276 (lookup/builtin5.C) on aix
This patch fixes the bug in a cross-compiler. I don't remember why I
put in that #ifdef in the first place, but it seems incorrect. The
other uses of NO_IMPLICIT_EXTERN_C are about allowing () in outdated C
headers, which is unrelated.
commit b34937b905aa25542da7d6ee3d71db2a1413ddbf
Author: Jason Merrill <jason@redhat.com>
Date: Wed Nov 14 15:10:25 2012 -0500
PR c++/37276
* decl.c (decls_match): Remove #ifdef around earlier fix.
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 115c567..045e99b 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;