* [Bug target/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
@ 2004-10-13 23:03 ` pinskia at gcc dot gnu dot org
2004-10-13 23:04 ` pinskia at gcc dot gnu dot org
` (27 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-13 23:03 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-13 23:03 -------
DECL_ASSEMBLER_NAME_SET_P is true on ia64 for some reason which gets set when we call
make_decl_rtl at c-decl.c:1757, why I don't know.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug target/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
2004-10-13 23:03 ` [Bug target/17982] " pinskia at gcc dot gnu dot org
@ 2004-10-13 23:04 ` pinskia at gcc dot gnu dot org
2004-10-13 23:18 ` pinskia at gcc dot gnu dot org
` (26 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-13 23:04 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-13 23:03 -------
Confirmed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Keywords| |wrong-code
Last reconfirmed|0000-00-00 00:00:00 |2004-10-13 23:03:57
date| |
Target Milestone|--- |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug target/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
2004-10-13 23:03 ` [Bug target/17982] " pinskia at gcc dot gnu dot org
2004-10-13 23:04 ` pinskia at gcc dot gnu dot org
@ 2004-10-13 23:18 ` pinskia at gcc dot gnu dot org
2004-10-13 23:22 ` pinskia at gcc dot gnu dot org
` (25 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-13 23:18 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-13 23:18 -------
The RTL is set because IA64 has ASM_OUTPUT_EXTERNAL defined.
I think is related to changes which Zack made to c-decl.c.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |zack at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug target/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (2 preceding siblings ...)
2004-10-13 23:18 ` pinskia at gcc dot gnu dot org
@ 2004-10-13 23:22 ` pinskia at gcc dot gnu dot org
2004-10-13 23:29 ` zack at codesourcery dot com
` (24 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-13 23:22 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-13 23:22 -------
The call to make_decl_rtl is from assemble_external.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug target/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (3 preceding siblings ...)
2004-10-13 23:22 ` pinskia at gcc dot gnu dot org
@ 2004-10-13 23:29 ` zack at codesourcery dot com
2004-10-13 23:49 ` pinskia at gcc dot gnu dot org
` (23 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: zack at codesourcery dot com @ 2004-10-13 23:29 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From zack at codesourcery dot com 2004-10-13 23:29 -------
Subject: Re: [4.0 regression] asm declaration ignored due to conflict with previous rename
Hmm. Why are we calling assemble_external before EOF?
zw
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug target/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (4 preceding siblings ...)
2004-10-13 23:29 ` zack at codesourcery dot com
@ 2004-10-13 23:49 ` pinskia at gcc dot gnu dot org
2004-11-09 15:47 ` schwab at suse dot de
` (22 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-13 23:49 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-13 23:49 -------
1764 if (!skip_evaluation)
1765 assemble_external (ref);
#0 assemble_external (decl=0x41682934) at ../../gcc/varasm.c:1771
#1 0x00043c20 in build_external_ref (id=0x41686ac4, fun=1) at ../../gcc/c-typeck.c:1765
#2 0x0000534c in yyparse () at c-parse.y:626
#3 0x0000ac60 in c_parse_file () at c-parse.y:2903
#4 0x000a0728 in c_common_parse_file (set_yydebug=0) at ../../gcc/c-opts.c:1095
#5 0x0054dc6c in compile_file () at ../../gcc/toplev.c:985
#6 0x00550814 in do_compile () at ../../gcc/toplev.c:2069
#7 0x005508b0 in toplev_main (argc=3, argv=0xbffffd5c) at ../../gcc/toplev.c:2101
#8 0x000c69dc in main (argc=3, argv=0xbffffd5c) at ../../gcc/main.c:35
where the call to build_external_ref:
primary:
IDENTIFIER
{
if (yychar == YYEMPTY)
yychar = YYLEX;
$$.value = build_external_ref ($1, yychar == '(');
$$.original_code = ERROR_MARK;
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug target/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (5 preceding siblings ...)
2004-10-13 23:49 ` pinskia at gcc dot gnu dot org
@ 2004-11-09 15:47 ` schwab at suse dot de
2004-11-23 19:13 ` hjl at lucon dot org
` (21 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: schwab at suse dot de @ 2004-11-09 15:47 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From schwab at suse dot de 2004-11-09 15:47 -------
This is the change that broke this:
2004-06-20 Zack Weinberg <zack@codesourcery.com>
* c-common.h (has_c_linkage): New interface.
...
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |critical
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug target/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (6 preceding siblings ...)
2004-11-09 15:47 ` schwab at suse dot de
@ 2004-11-23 19:13 ` hjl at lucon dot org
2004-11-23 19:18 ` hjl at lucon dot org
` (20 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: hjl at lucon dot org @ 2004-11-23 19:13 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From hjl at lucon dot org 2004-11-23 19:13 -------
*** Bug 18632 has been marked as a duplicate of this bug. ***
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |hjl at lucon dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug target/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (7 preceding siblings ...)
2004-11-23 19:13 ` hjl at lucon dot org
@ 2004-11-23 19:18 ` hjl at lucon dot org
2004-11-23 19:22 ` [Bug middle-end/17982] " pinskia at gcc dot gnu dot org
` (19 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: hjl at lucon dot org @ 2004-11-23 19:18 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From hjl at lucon dot org 2004-11-23 19:18 -------
It also happens on x86_64 and i386 if -O1 or -O0 is used. It has nothing to
do with function inline.
--
What |Removed |Added
----------------------------------------------------------------------------
GCC target triplet|ia64-linux |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (8 preceding siblings ...)
2004-11-23 19:18 ` hjl at lucon dot org
@ 2004-11-23 19:22 ` pinskia at gcc dot gnu dot org
2004-11-23 21:13 ` hjl at lucon dot org
` (18 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-11-23 19:22 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-23 19:22 -------
Actually the example in comment #0 does not fail on x86 or ppc, only ia64 because of the reasons I
outlined. Now the testcase in PR 18632 has always failed, we just did not warn about it.
--
What |Removed |Added
----------------------------------------------------------------------------
Component|target |middle-end
GCC target triplet| |ia64-*-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (9 preceding siblings ...)
2004-11-23 19:22 ` [Bug middle-end/17982] " pinskia at gcc dot gnu dot org
@ 2004-11-23 21:13 ` hjl at lucon dot org
2004-11-23 22:20 ` zack at codesourcery dot com
` (17 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: hjl at lucon dot org @ 2004-11-23 21:13 UTC (permalink / raw)
To: gcc-bugs
------- 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
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (10 preceding siblings ...)
2004-11-23 21:13 ` hjl at lucon dot org
@ 2004-11-23 22:20 ` zack at codesourcery dot com
2004-11-23 23:42 ` hjl at lucon dot org
` (16 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: zack at codesourcery dot com @ 2004-11-23 22:20 UTC (permalink / raw)
To: gcc-bugs
------- 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
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (11 preceding siblings ...)
2004-11-23 22:20 ` zack at codesourcery dot com
@ 2004-11-23 23:42 ` hjl at lucon dot org
2004-11-24 2:01 ` hjl at lucon dot org
` (15 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: hjl at lucon dot org @ 2004-11-23 23:42 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From hjl at lucon dot org 2004-11-23 23:42 -------
I have verified that my modification works on Linux/ia64, Linux/ia32 and
Linux/x86_64.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (12 preceding siblings ...)
2004-11-23 23:42 ` hjl at lucon dot org
@ 2004-11-24 2:01 ` hjl at lucon dot org
2004-11-27 0:30 ` neroden at gcc dot gnu dot org
` (14 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: hjl at lucon dot org @ 2004-11-24 2:01 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From hjl at lucon dot org 2004-11-24 02:01 -------
A patch is posted at
http://gcc.gnu.org/ml/gcc-patches/2004-11/msg01956.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (13 preceding siblings ...)
2004-11-24 2:01 ` hjl at lucon dot org
@ 2004-11-27 0:30 ` neroden at gcc dot gnu dot org
2004-11-27 20:25 ` zack at codesourcery dot com
` (13 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: neroden at gcc dot gnu dot org @ 2004-11-27 0:30 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From neroden at gcc dot gnu dot org 2004-11-27 00:30 -------
HJ's latest patch probably doesn't fix the problem entirely :-(, but it is
certainly correct to allow "renames" which don't change anything.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (14 preceding siblings ...)
2004-11-27 0:30 ` neroden at gcc dot gnu dot org
@ 2004-11-27 20:25 ` zack at codesourcery dot com
2004-11-27 20:45 ` hjl at lucon dot org
` (12 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: zack at codesourcery dot com @ 2004-11-27 20:25 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From zack at codesourcery dot com 2004-11-27 20:25 -------
Subject: Re: [4.0 regression] asm declaration ignored due to conflict with previous rename
That's not what HJ's patch does, though.
zw
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (15 preceding siblings ...)
2004-11-27 20:25 ` zack at codesourcery dot com
@ 2004-11-27 20:45 ` hjl at lucon dot org
2004-11-28 20:16 ` zack at codesourcery dot com
` (11 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: hjl at lucon dot org @ 2004-11-27 20:45 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From hjl at lucon dot org 2004-11-27 20:44 -------
DECL_ASSEMBLER_NAME_SET_P alone is not very reliable to check if a symbol
has been renamed or not. There are
/* The name of the object as the assembler will see it (but before any
translations made by ASM_OUTPUT_LABELREF). Often this is the same
as DECL_NAME. It is an IDENTIFIER_NODE. */
#define DECL_ASSEMBLER_NAME(NODE) decl_assembler_name (NODE)
/* Returns nonzero if the DECL_ASSEMBLER_NAME for NODE has been set. If zero,
the NODE might still have a DECL_ASSEMBLER_NAME -- it just hasn't been set
yet. */ #define DECL_ASSEMBLER_NAME_SET_P(NODE) \
(DECL_CHECK (NODE)->decl.assembler_name != NULL_TREE)
and
/* The name of the object as the assembler will see it (but before any
translations made by ASM_OUTPUT_LABELREF). Often this is the same
as DECL_NAME. It is an IDENTIFIER_NODE. */
tree
decl_assembler_name (tree decl)
{
if (!DECL_ASSEMBLER_NAME_SET_P (decl))
lang_hooks.set_decl_assembler_name (decl);
return DECL_CHECK (decl)->decl.assembler_name;
}
Simply calling DECL_ASSEMBLER_NAME will make DECL_ASSEMBLER_NAME_SET_P to
return TRUE.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (16 preceding siblings ...)
2004-11-27 20:45 ` hjl at lucon dot org
@ 2004-11-28 20:16 ` zack at codesourcery dot com
2004-11-28 22:48 ` schwab at suse dot de
` (10 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: zack at codesourcery dot com @ 2004-11-28 20:16 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From zack at codesourcery dot com 2004-11-28 20:16 -------
Subject: Re: [4.0 regression] asm declaration ignored due to conflict with previous rename
You continue not to get it.
In this context, DECL_ASSEMBLER_NAME has been set because
assemble_external has been called on the symbol. assemble_external is
*not* a no-op on ia64. It emits a directive to the assembly output,
using the name of the symbol. It is *not* safe to rename the symbol
after that has happened. That you are not seeing a problem on
ia64-linux is either because GAS isn't as picky as the reference
assembler, or because your test case is not stringent enough.
zw
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (17 preceding siblings ...)
2004-11-28 20:16 ` zack at codesourcery dot com
@ 2004-11-28 22:48 ` schwab at suse dot de
2004-11-29 16:38 ` zack at codesourcery dot com
` (9 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: schwab at suse dot de @ 2004-11-28 22:48 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From schwab at suse dot de 2004-11-28 22:47 -------
But the call to assemble_external has been there since the very beginning.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (18 preceding siblings ...)
2004-11-28 22:48 ` schwab at suse dot de
@ 2004-11-29 16:38 ` zack at codesourcery dot com
2004-11-29 17:07 ` schwab at suse dot de
` (8 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: zack at codesourcery dot com @ 2004-11-29 16:38 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From zack at codesourcery dot com 2004-11-29 16:38 -------
Subject: Re: [4.0 regression] asm declaration ignored due to conflict with previous rename
... so this has always been broken, is that what you're saying?
zw
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (19 preceding siblings ...)
2004-11-29 16:38 ` zack at codesourcery dot com
@ 2004-11-29 17:07 ` schwab at suse dot de
2004-11-29 17:15 ` zack at codesourcery dot com
` (7 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: schwab at suse dot de @ 2004-11-29 17:07 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From schwab at suse dot de 2004-11-29 17:07 -------
Before your change it hasn't been a problem, apparently. But if you think it
was wrong to begin with then please try to fix it.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (20 preceding siblings ...)
2004-11-29 17:07 ` schwab at suse dot de
@ 2004-11-29 17:15 ` zack at codesourcery dot com
2004-11-29 18:47 ` hjl at lucon dot org
` (6 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: zack at codesourcery dot com @ 2004-11-29 17:15 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From zack at codesourcery dot com 2004-11-29 17:15 -------
Subject: Re: [4.0 regression] asm declaration ignored due to conflict with previous rename
I'm hoping to have some time to work on this this week, but no
promises.
zw
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (21 preceding siblings ...)
2004-11-29 17:15 ` zack at codesourcery dot com
@ 2004-11-29 18:47 ` hjl at lucon dot org
2004-12-08 19:13 ` cvs-commit at gcc dot gnu dot org
` (5 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: hjl at lucon dot org @ 2004-11-29 18:47 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From hjl at lucon dot org 2004-11-29 18:47 -------
There are only 2 assemblers supported on ia64, GNU assembler and Intel
assembler. If GNU assembler is used, assemble_external is a no-op on Linux.
On HPUX, the actual undefined symbol references are outputed at the very
end. This patch
http://gcc.gnu.org/ml/gcc-patches/2004-11/msg02511.html
will make Linux + Intel assembler to do the same. So, on ia64, it should be
OK to rename a symbol even after assemble_external is called as long as
it hasn't been actually used, in which case, you should get
x.i:8: warning: foo renamed after being referenced in assembly
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (22 preceding siblings ...)
2004-11-29 18:47 ` hjl at lucon dot org
@ 2004-12-08 19:13 ` cvs-commit at gcc dot gnu dot org
2004-12-08 20:01 ` pinskia at gcc dot gnu dot org
` (4 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-12-08 19:13 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-12-08 19:13 -------
Subject: Bug 17982
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: zack@gcc.gnu.org 2004-12-08 19:13:36
Modified files:
gcc : ChangeLog cgraphunit.c tree.h varasm.c
gcc/config/h8300: h8300.h
Log message:
PR 17982
* varasm.c (pending_assemble_externals): New static.
(assemble_external_real): Meat of assemble_external split out
to this new function.
(process_pending_assemble_externals): New function.
(assemble_external): Use gcc_assert. If flag_unit_at_a_time
is true and the basic test passes, merely cons the decl onto
the pending list to be handled later.
* tree.h: Declare process_pending_assemble_externals.
* cgraphunit.c (cgraph_optimize): Call it.
* config/h8300/h8300.h: Do not define ASM_OUTPUT_EXTERNAL.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.6750&r2=2.6751
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cgraphunit.c.diff?cvsroot=gcc&r1=1.90&r2=1.91
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gcc&r1=1.664&r2=1.665
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/varasm.c.diff?cvsroot=gcc&r1=1.466&r2=1.467
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/h8300/h8300.h.diff?cvsroot=gcc&r1=1.179&r2=1.180
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] [4.0 regression] asm declaration ignored due to conflict with previous rename
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (23 preceding siblings ...)
2004-12-08 19:13 ` cvs-commit at gcc dot gnu dot org
@ 2004-12-08 20:01 ` pinskia at gcc dot gnu dot org
2004-12-08 22:04 ` [Bug middle-end/17982] stop calling assemble_external before final assembly output time zack at gcc dot gnu dot org
` (3 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-08 20:01 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-08 20:00 -------
Fixed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] stop calling assemble_external before final assembly output time
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (24 preceding siblings ...)
2004-12-08 20:01 ` pinskia at gcc dot gnu dot org
@ 2004-12-08 22:04 ` zack at gcc dot gnu dot org
2004-12-08 22:05 ` zack at gcc dot gnu dot org
` (2 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: zack at gcc dot gnu dot org @ 2004-12-08 22:04 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From zack at gcc dot gnu dot org 2004-12-08 22:04 -------
Uh, no, it's not fixed. It is, however, papered over adequately for 4.0. I'm
turning this into a 4.1 enhancement PR.
http://gcc.gnu.org/ml/gcc-patches/2004-12/msg00491.html explains what needs to
happen for 4.1.
--
What |Removed |Added
----------------------------------------------------------------------------
OtherBugsDependingO|18632 |
nThis| |
Severity|critical |enhancement
Status|RESOLVED |REOPENED
Keywords|patch, wrong-code |
Resolution|FIXED |
Summary|[4.0 regression] asm |stop calling
|declaration ignored due to |assemble_external before
|conflict with previous |final assembly output time
|rename |
Target Milestone|4.0.0 |4.1.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] stop calling assemble_external before final assembly output time
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (25 preceding siblings ...)
2004-12-08 22:04 ` [Bug middle-end/17982] stop calling assemble_external before final assembly output time zack at gcc dot gnu dot org
@ 2004-12-08 22:05 ` zack at gcc dot gnu dot org
2005-04-05 1:54 ` pinskia at gcc dot gnu dot org
2005-07-05 2:10 ` pinskia at gcc dot gnu dot org
28 siblings, 0 replies; 30+ messages in thread
From: zack at gcc dot gnu dot org @ 2004-12-08 22:05 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From zack at gcc dot gnu dot org 2004-12-08 22:05 -------
... and assigning to self.
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |zack at gcc dot gnu dot org
|dot org |
Status|REOPENED |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] stop calling assemble_external before final assembly output time
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (26 preceding siblings ...)
2004-12-08 22:05 ` zack at gcc dot gnu dot org
@ 2005-04-05 1:54 ` pinskia at gcc dot gnu dot org
2005-07-05 2:10 ` pinskia at gcc dot gnu dot org
28 siblings, 0 replies; 30+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-04-05 1:54 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.1.0 |---
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread
* [Bug middle-end/17982] stop calling assemble_external before final assembly output time
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
` (27 preceding siblings ...)
2005-04-05 1:54 ` pinskia at gcc dot gnu dot org
@ 2005-07-05 2:10 ` pinskia at gcc dot gnu dot org
28 siblings, 0 replies; 30+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-05 2:10 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-05 02:10 -------
Unassigning from Zack since he is gone now.
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|zack at codesourcery dot com|unassigned at gcc dot gnu
| |dot org
Status|ASSIGNED |NEW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
^ permalink raw reply [flat|nested] 30+ messages in thread