From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 693 invoked by alias); 13 Mar 2014 14:05:24 -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 660 invoked by uid 48); 13 Mar 2014 14:05:20 -0000 From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/36282] [4.7/4.8/4.9 Regression] Spurious warning "asm declaration ignored due to conflict with previous rename" Date: Thu, 13 Mar 2014 14:05:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 4.2.1 X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.7.4 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc attachments.created 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: 2014-03/txt/msg01058.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36282 Jakub Jelinek changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #7 from Jakub Jelinek --- Created attachment 32345 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32345&action=edit gcc49-pr36282.patch Untested fix. If this turns out to be too expensive (though, I think #pragma weak is rare and the patch should at most double the time to compute DECL_ASSEMBLER_NAME), perhaps we could use some spare bit in decl_with_vis to mean DECL_ASSEMBLER_NAME_SET_P (in addition to the current two tests). Then we could keep the computed assembler name cached and still pretend the name has not been set, decl_assembler_name would set that bit. We'd need to handle with care the cases when the bit is unset and say we rename the symbol though, then of course we'd need to first SET_DECL_ASSEMBLER_NAME to NULL.