------- Comment #18 from rth at gcc dot gnu dot org 2009-09-16 16:27 ------- Subject: Bug 41246
Author: rth Date: Wed Sep 16 16:26:55 2009 New Revision: 151762 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=151762 Log: PR target/41246 * tree-cfg.c (verify_gimple_call): Validate that * gimple_call_chain is set only if DECL_NO_STATIC_CHAIN is unset. * tree-nested.c (iter_nestinfo_start, iter_nestinfo_next): New. (FOR_EACH_NEST_INFO): New. (walk_all_functions): Use it. (finalize_nesting_tree): Likewise. (unnest_nesting_tree): Likewise. (free_nesting_tree): Use iter_nestinfo_start, iter_nestinfo_next. (get_chain_decl, get_chain_field): Reset DECL_NO_STATIC_CHAIN. (convert_gimple_call): Early out if gimple_call_chain already set. (convert_all_function_calls): Iterate until no new functions require a static chain. (finalize_nesting_tree_1): Assert DECL_NO_STATIC_CHAIN is unset when building a trampoline. Use dump_function_to_file instead of dump_function. (lower_nested_functions): Open dump_file. Validate that decls that have DECL_NO_STATIC_CHAIN from the front end don't have that bit reset by this pass. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-cfg.c trunk/gcc/tree-nested.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41246