> This patch is the handwritten part of the conversion of these types
> to C++; it requires the followup patch, which is autogenerated.
> 
> It converts:
>   struct symtab_node_base
> to:
>   class symtab_node_base
> 
> and converts:
>   struct cgraph_node
> to:
>   struct cgraph_node : public symtab_node_base
> and:
>   struct varpool_node
> to:
>   class varpool_node : public symtab_node_base
> 
> dropping the symtab_node_def union.

Yep, incrementally we should continue with the grand renaming 
retiring symtab_node_base and getting things symmetric.
> 
>       * cgraph.h (symtab_node_base): Convert to a class;
>       add GTY((desc ("%h.type"), tag ("SYMTAB_SYMBOL"))).
>       (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.

This patch is OK.  Thanks for working on this!

Honza

Reply via email to