Verify symtab order
* symtab.c (symtab_node::verify_base): Verify order. (symtab_node::verify_symtab_nodes): Verify order.
This commit is contained in:
parent
13cdbb6a97
commit
75a23e5903
1 changed files with 13 additions and 0 deletions
13
gcc/symtab.c
13
gcc/symtab.c
|
@ -1085,6 +1085,11 @@ symtab_node::verify_base (void)
|
|||
error ("node has unknown type");
|
||||
error_found = true;
|
||||
}
|
||||
if (order < 0 || order >= symtab->order)
|
||||
{
|
||||
error ("node has invalid order %i", order);
|
||||
error_found = true;
|
||||
}
|
||||
|
||||
if (symtab->state != LTO_STREAMING)
|
||||
{
|
||||
|
@ -1326,6 +1331,14 @@ symtab_node::verify_symtab_nodes (void)
|
|||
{
|
||||
symtab_node *node;
|
||||
hash_map<tree, symtab_node *> comdat_head_map (251);
|
||||
asm_node *anode;
|
||||
|
||||
for (anode = symtab->first_asm_symbol (); anode; anode = anode->next)
|
||||
if (anode->order < 0 || anode->order >= symtab->order)
|
||||
{
|
||||
error ("invalid order in asm node %i", anode->order);
|
||||
internal_error ("symtab_node::verify failed");
|
||||
}
|
||||
|
||||
FOR_EACH_SYMBOL (node)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue