[Bug target/41246] should "sorry" when regparm=3 and nested functions are encountered
rth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Sep 16 16:27:00 GMT 2009
------- 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
More information about the Gcc-bugs
mailing list