http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57848

--- Comment #15 from Dongsheng Song <dongsheng.song at gmail dot com> ---
Yes,it helps, 64 bit gcc 4.9 build fine. but 32 bit failed with lots of
'conflicting types' errors, this maybe another story.

$ svn info mingw-w64/trunk/
Path: mingw-w64/trunk
URL: svn://svn.code.sf.net/p/mingw-w64/code/trunk
Repository Root: svn://svn.code.sf.net/p/mingw-w64/code
Repository UUID: 4407c894-4637-0410-b4f5-ada5f102cad1
Revision: 6277
Node Kind: directory
Schedule: normal
Last Changed Author: snarfle
Last Changed Rev: 6277
Last Changed Date: 2013-09-12 03:13:55 +0800 (Thu, 12 Sep 2013)

$ svn info gcc/trunk/
Path: gcc/trunk
URL: svn://gcc.gnu.org/svn/gcc/trunk
Repository Root: svn://gcc.gnu.org/svn/gcc
Repository UUID: 138bc75d-0d04-0410-961f-82ee72b054a4
Revision: 202515
Node Kind: directory
Schedule: normal
Last Changed Author: amodra
Last Changed Rev: 202515
Last Changed Date: 2013-09-12 10:47:05 +0800 (Thu, 12 Sep 2013)

$ svn diff gcc/trunk/gcc/c/c-decl.c
Index: gcc/trunk/gcc/c/c-decl.c
===================================================================
--- gcc/trunk/gcc/c/c-decl.c    (revision 202515)
+++ gcc/trunk/gcc/c/c-decl.c    (working copy)
@@ -3604,7 +3604,7 @@
   C_DECL_BUILTIN_PROTOTYPE (decl) = prototype_p (type);

   /* Should never be called on a symbol with a preexisting meaning.  */
-  gcc_assert (!I_SYMBOL_BINDING (id));
+  gcc_assert (TREE_CODE (decl) == CONST_DECL || !I_SYMBOL_BINDING (id));

   bind (id, decl, external_scope, /*invisible=*/true, /*nested=*/false,
        UNKNOWN_LOCATION);
@@ -3629,9 +3629,6 @@
   const char *name = IDENTIFIER_POINTER (id);
   C_DECL_BUILTIN_PROTOTYPE (decl) = prototype_p (type);

-  /* Should never be called on a symbol with a preexisting meaning.  */
-  gcc_assert (!I_SYMBOL_BINDING (id));
-
   bind (id, decl, external_scope, /*invisible=*/false, /*nested=*/false,
        UNKNOWN_LOCATION);

Reply via email to