This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/15666] [3.4 regression] [unit-at-a-time] Gcc abort on valid code


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]