From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16945 invoked by alias); 23 Nov 2004 21:13:57 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 16926 invoked by uid 48); 23 Nov 2004 21:13:52 -0000 Date: Tue, 23 Nov 2004 21:13:00 -0000 Message-ID: <20041123211352.16925.qmail@sourceware.org> From: "hjl at lucon dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20041013220543.17982.schwab@suse.de> References: <20041013220543.17982.schwab@suse.de> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename X-Bugzilla-Reason: CC X-SW-Source: 2004-11/txt/msg02742.txt.bz2 List-Id: ------- Additional Comments From hjl at lucon dot org 2004-11-23 21:13 ------- Does this patch --- gcc/c-pragma.c.rename 2004-11-09 12:03:42.000000000 -0800 +++ gcc/c-pragma.c 2004-11-23 13:03:26.020304351 -0800 @@ -473,8 +473,11 @@ maybe_apply_renaming_pragma (tree decl, return asmname; /* If the DECL_ASSEMBLER_NAME is already set, it does not change, - but we may warn about a rename that conflicts. */ - if (DECL_ASSEMBLER_NAME_SET_P (decl)) + but we may warn about a rename that conflicts. + FIXME: the DECL_ASSEMBLER_NAME can be set to DECL_NAME (decl) + without renaming pragma nor asm declaration involved. */ + if (DECL_ASSEMBLER_NAME_SET_P (decl) + && DECL_ASSEMBLER_NAME (decl) != DECL_NAME (decl)) { const char *oldname = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)); oldname = targetm.strip_name_encoding (oldname); make any senses? At least, it works with my testcases. -O0 and -O1 still complain with [hjl@gnu-4 gcc]$ ./xgcc -B./ -c x.i x.i:8: warning: foo renamed after being referenced in assembly [hjl@gnu-4 gcc]$ It may be OK since foo has been referenced in assembly. But I am not sure about languanges other than C. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982