diff options
author | David Malcolm <dmalcolm@redhat.com> | 2013-10-29 18:25:17 +0000 |
---|---|---|
committer | David Malcolm <dmalcolm@gcc.gnu.org> | 2013-10-29 18:25:17 +0000 |
commit | a3bfa8b80c84f097b684b5ba7851ceb81642ccd3 (patch) | |
tree | 1448b6640c11838946a37fc6783f028e1f3c26bb /gcc/is-a.h | |
parent | c960732f0526add82cdf51879ee1b97c221feb08 (diff) |
Convert symtab, cgraph and varpool nodes into a real class hierarchy
This is the handwritten part of the patch; automated part to follow.
* cgraph.h (symtab_node_base): Convert to a class;
add GTY((desc ("%h.type"), tag ("SYMTAB_SYMBOL"))), and take
chain_next/prev from symtab_node_def.
(cgraph_node): Inherit from symtab_node; add GTY option
tag ("SYMTAB_FUNCTION").
(varpool_node): Inherit from symtab_node; add GTY option
tag ("SYMTAB_VARIABLE").
(symtab_node_def): Remove.
(is_a_helper <cgraph_node>::test (symtab_node_def *)): Convert to...
(is_a_helper <cgraph_node>::test (symtab_node_base *)): ...this.
(is_a_helper <varpool_node>::test (symtab_node_def *)): Convert to...
(is_a_helper <varpool_node>::test (symtab_node_base *)): ...this.
* ipa-ref.h (symtab_node_def): Drop.
(symtab_node): Change underlying type from symtab_node_def to
symtab_node_base.
(const_symtab_node): Likwise.
* is-a.h: Update examples in comment.
* symtab.c (symtab_hash): Change symtab_node_def to symtab_node_base.
(assembler_name_hash): Likewise.
From-SVN: r204170
Diffstat (limited to 'gcc/is-a.h')
-rw-r--r-- | gcc/is-a.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/is-a.h b/gcc/is-a.h index b5ee8543abe..ccf12be3d90 100644 --- a/gcc/is-a.h +++ b/gcc/is-a.h @@ -31,7 +31,7 @@ bool is_a <TYPE> (pointer) Tests whether the pointer actually points to a more derived TYPE. - Suppose you have a symtab_node_def *ptr, AKA symtab_node ptr. You can test + Suppose you have a symtab_node_base *ptr, AKA symtab_node ptr. You can test whether it points to a 'derived' cgraph_node as follows. if (is_a <cgraph_node> (ptr)) @@ -110,7 +110,7 @@ example, template <> template <> inline bool - is_a_helper <cgraph_node>::test (symtab_node_def *p) + is_a_helper <cgraph_node>::test (symtab_node_base *p) { return p->symbol.type == SYMTAB_FUNCTION; } @@ -122,7 +122,7 @@ when needed may result in a crash. For example, template <> template <> inline bool - is_a_helper <cgraph_node>::cast (symtab_node_def *p) + is_a_helper <cgraph_node>::cast (symtab_node_base *p) { return &p->x_function; } |