From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7875 invoked by alias); 12 Sep 2013 09:27:55 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 7829 invoked by uid 48); 12 Sep 2013 09:27:51 -0000 From: "dongsheng.song at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/57848] internal compiler error on builtin and '#pragma GCC target()' option Date: Thu, 12 Sep 2013 09:27:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: ice-on-invalid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: dongsheng.song at gmail dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-09/txt/msg00866.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57848 --- Comment #15 from Dongsheng Song --- 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);