[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