re PR middle-end/61558 (ICE: Segmentation fault)
PR ipa/61558 * symtab.c (symbol_table::insert_to_assembler_name_hash symbol_table::unlink_from_assembler_name_hash): Do not ICE when DECL_ASSEMBLER_NAME is NULL. From-SVN: r218729
This commit is contained in:
parent
38c1b72fcb
commit
59b5b46686
4 changed files with 28 additions and 1 deletions
|
@ -1,3 +1,10 @@
|
|||
2014-12-14 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
PR ipa/61558
|
||||
* symtab.c (symbol_table::insert_to_assembler_name_hash
|
||||
symbol_table::unlink_from_assembler_name_hash): Do not ICE when
|
||||
DECL_ASSEMBLER_NAME is NULL.
|
||||
|
||||
2014-12-14 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* cgraphunit.c (analyze_functions): Always analyze targets of aliases.
|
||||
|
|
|
@ -168,6 +168,11 @@ symbol_table::insert_to_assembler_name_hash (symtab_node *node,
|
|||
|
||||
tree name = DECL_ASSEMBLER_NAME (node->decl);
|
||||
|
||||
/* C++ FE can produce decls without associated assembler name and insert
|
||||
them to symtab to hold section or TLS information. */
|
||||
if (!name)
|
||||
return;
|
||||
|
||||
hashval_t hash = decl_assembler_name_hash (name);
|
||||
aslot = assembler_name_hash->find_slot_with_hash (name, hash, INSERT);
|
||||
gcc_assert (*aslot != node);
|
||||
|
@ -209,6 +214,10 @@ symbol_table::unlink_from_assembler_name_hash (symtab_node *node,
|
|||
{
|
||||
tree name = DECL_ASSEMBLER_NAME (node->decl);
|
||||
symtab_node **slot;
|
||||
|
||||
if (!name)
|
||||
return;
|
||||
|
||||
hashval_t hash = decl_assembler_name_hash (name);
|
||||
slot = assembler_name_hash->find_slot_with_hash (name, hash,
|
||||
NO_INSERT);
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
2014-12-14 Jan HUbicka <hubicka@ucw.cz>
|
||||
2014-12-14 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
PR ipa/61558
|
||||
* g++.dg/torture/pr61558.C: New testcase.
|
||||
|
||||
2014-12-14 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
PR lto/64043
|
||||
* g++.dg/lto/pr64043_0.C: New testcase.
|
||||
|
|
6
gcc/testsuite/g++.dg/torture/pr61558.C
Normal file
6
gcc/testsuite/g++.dg/torture/pr61558.C
Normal file
|
@ -0,0 +1,6 @@
|
|||
// { dg-do compile }
|
||||
static __typeof 0 a __attribute__ ((__weakref__ ("")));
|
||||
template <typename> class A
|
||||
{
|
||||
static __thread int b;
|
||||
};
|
Loading…
Add table
Reference in a new issue