This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/15666] [3.4 regression] [unit-at-a-time] Gcc abort on valid code
- From: "hjl at lucon dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 31 May 2004 15:12:01 -0000
- Subject: [Bug middle-end/15666] [3.4 regression] [unit-at-a-time] Gcc abort on valid code
- References: <20040526200425.15666.hjl@lucon.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From hjl at lucon dot org 2004-05-31 15:11 -------
IDENTIFIER_HASH_VALUE (DECL_ASSEMBLER_NAME (decl)) is used
to compute hash value and DECL_ASSEMBLER_NAME is defined as
#define DECL_ASSEMBLER_NAME(NODE) decl_assembler_name (NODE)
When DECL 0xb766dd80 is added in cgraph_node, its
DECL_ASSEMBLER_NAME is 0xb766c880. But when it is removed
in cgraph_remove_node, its DECL_ASSEMBLER_NAME is
0xb75ee680. They have different hash values. It is due to
extern __typeof (bar) strchr __asm__ ("bar");
As the result, cgraph_remove_node can't find the slot since
the wrong hash value is used.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15666