From a3bfa8b80c84f097b684b5ba7851ceb81642ccd3 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Tue, 29 Oct 2013 18:25:17 +0000 Subject: 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 ::test (symtab_node_def *)): Convert to... (is_a_helper ::test (symtab_node_base *)): ...this. (is_a_helper ::test (symtab_node_def *)): Convert to... (is_a_helper ::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 --- gcc/ipa-ref.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gcc/ipa-ref.h') diff --git a/gcc/ipa-ref.h b/gcc/ipa-ref.h index e0553bb..dc6e238 100644 --- a/gcc/ipa-ref.h +++ b/gcc/ipa-ref.h @@ -20,9 +20,9 @@ along with GCC; see the file COPYING3. If not see struct cgraph_node; struct varpool_node; -union symtab_node_def; -typedef union symtab_node_def *symtab_node; -typedef const union symtab_node_def *const_symtab_node; +class symtab_node_base; +typedef symtab_node_base *symtab_node; +typedef const symtab_node_base *const_symtab_node; /* How the reference is done. */ -- cgit v1.1