[patch] Apply conditional down cast to cgraph.h et.al.

Jan Hubicka hubicka@ucw.cz
Tue Oct 30 13:39:00 GMT 2012


> 2012-10-29  Lawrence Crowl  <crowl@google.com>
> 
> 	* is-a.h: New.
> 	(is_a <T> (U*)): New.  Test for is-a relationship.
> 	(as_a <T> (U*)): New.  Treat as a derived type.
> 	(dyn_cast <T> (U*)): New.  Conditionally cast based on is_a.
> 	* cgraph.h (varpool_node): Rename to varpool_node_for_decl.
> 	Adjust callers to match.
> 	(is_a_helper <cgraph_node>::test (symtab_node_def *)): New.
> 	(is_a_helper <varpool_node>::test (symtab_node_def *)): New.
> 	(symtab_node_def::try_function): New.  Change most calls to
> 	symtab_function_p with calls to dyn_cast <cgraph_node> (p).
> 	(symtab_node_def::try_variable): New.  Change most calls to
> 	symtab_variable_p with calls to dyn_cast <varpool_node> (p).
> 	(symtab_function_p): Remove.  Change callers to use
>         is_a <cgraph_node> (p) instead.
> 	(symtab_variable_p): Remove.  Change callers to use
>         is_a <varpool_node> (p) instead.
> 	* cgraph.c (cgraph_node_for_asm): Remove redundant call to
> 	symtab_node_for_asm.
> 	* cgraphunit.c (symbol_finalized_and_needed): New.
> 	(symbol_finalized): New.
> 	(cgraph_analyze_functions): Split complicated conditionals out into
> 	above new functions.
> 	* Makefile.in (CGRAPH_H): Add is-a.h as used by cgraph.h.
> 

the patch is OK,
thanks!
Honza



More information about the Gcc-patches mailing list