[Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
zack at codesourcery dot com
gcc-bugzilla@gcc.gnu.org
Tue Nov 23 22:20:00 GMT 2004
------- Additional Comments From zack at codesourcery dot com 2004-11-23 22:19 -------
Subject: Re: [4.0 regression] asm declaration ignored due to conflict with previous rename
"hjl at lucon dot org" <gcc-bugzilla@gcc.gnu.org> writes:
> ------- 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. */
This will not work. At this point ia64 has already emitted an
external-reference directive for the old name into the assembly
stream.
The necessary fix is to prevent assemble_external from ever being
called before EOF.
zw
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
More information about the Gcc-bugs
mailing list