summaryrefslogtreecommitdiff
path: root/gcc/symtab.c
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-07 10:19:26 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-07 10:19:26 +0000
commit80879cf9009417726906a880af907e2de8683a84 (patch)
tree5d10fee949bcec7e27a86f73f02f55f09633b3d4 /gcc/symtab.c
parentd42d3fad6998402ea943bc2a3159cad09eb288d5 (diff)
downloadgcc-80879cf9009417726906a880af907e2de8683a84.tar.gz
2012-11-07 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 193285 using svnmerge.py git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@193288 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/symtab.c')
-rw-r--r--gcc/symtab.c33
1 files changed, 17 insertions, 16 deletions
diff --git a/gcc/symtab.c b/gcc/symtab.c
index c21edcbb79d..39753e2204d 100644
--- a/gcc/symtab.c
+++ b/gcc/symtab.c
@@ -104,7 +104,7 @@ eq_assembler_name (const void *p1, const void *p2)
static void
insert_to_assembler_name_hash (symtab_node node)
{
- if (symtab_variable_p (node) && DECL_HARD_REGISTER (node->symbol.decl))
+ if (is_a <varpool_node> (node) && DECL_HARD_REGISTER (node->symbol.decl))
return;
gcc_checking_assert (!node->symbol.previous_sharing_asm_name
&& !node->symbol.next_sharing_asm_name);
@@ -252,8 +252,8 @@ symtab_unregister_node (symtab_node node)
if (*slot == node)
{
symtab_node replacement_node = NULL;
- if (symtab_function_p (node))
- replacement_node = (symtab_node)cgraph_find_replacement_node (cgraph (node));
+ if (cgraph_node *cnode = dyn_cast <cgraph_node> (node))
+ replacement_node = (symtab_node)cgraph_find_replacement_node (cnode);
if (!replacement_node)
htab_clear_slot (symtab_hash, slot);
else
@@ -294,10 +294,10 @@ symtab_get_node (const_tree decl)
void
symtab_remove_node (symtab_node node)
{
- if (symtab_function_p (node))
- cgraph_remove_node (cgraph (node));
- else if (symtab_variable_p (node))
- varpool_remove_node (varpool (node));
+ if (cgraph_node *cnode = dyn_cast <cgraph_node> (node))
+ cgraph_remove_node (cnode);
+ else if (varpool_node *vnode = dyn_cast <varpool_node> (node))
+ varpool_remove_node (vnode);
}
/* Initalize asm name hash unless. */
@@ -538,10 +538,10 @@ dump_symtab_base (FILE *f, symtab_node node)
void
dump_symtab_node (FILE *f, symtab_node node)
{
- if (symtab_function_p (node))
- dump_cgraph_node (f, cgraph (node));
- else if (symtab_variable_p (node))
- dump_varpool_node (f, varpool (node));
+ if (cgraph_node *cnode = dyn_cast <cgraph_node> (node))
+ dump_cgraph_node (f, cnode);
+ else if (varpool_node *vnode = dyn_cast <varpool_node> (node))
+ dump_varpool_node (f, vnode);
}
/* Dump symbol table. */
@@ -579,7 +579,7 @@ verify_symtab_base (symtab_node node)
bool error_found = false;
symtab_node hashed_node;
- if (symtab_function_p (node))
+ if (is_a <cgraph_node> (node))
{
if (TREE_CODE (node->symbol.decl) != FUNCTION_DECL)
{
@@ -587,7 +587,7 @@ verify_symtab_base (symtab_node node)
error_found = true;
}
}
- else if (symtab_variable_p (node))
+ else if (is_a <varpool_node> (node))
{
if (TREE_CODE (node->symbol.decl) != VAR_DECL)
{
@@ -622,7 +622,8 @@ verify_symtab_base (symtab_node node)
hashed_node = hashed_node->symbol.next_sharing_asm_name;
}
if (!hashed_node
- && !(symtab_variable_p (node) || DECL_HARD_REGISTER (node->symbol.decl)))
+ && !(is_a <varpool_node> (node)
+ || DECL_HARD_REGISTER (node->symbol.decl)))
{
error ("node not found in symtab assembler name hash");
error_found = true;
@@ -676,8 +677,8 @@ verify_symtab_node (symtab_node node)
return;
timevar_push (TV_CGRAPH_VERIFY);
- if (symtab_function_p (node))
- verify_cgraph_node (cgraph (node));
+ if (cgraph_node *cnode = dyn_cast <cgraph_node> (node))
+ verify_cgraph_node (cnode);
else
if (verify_symtab_base (node))
{