diff options
author | Jan Hubicka <jh@suse.cz> | 2004-09-20 22:38:29 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2004-09-20 20:38:29 +0000 |
commit | 8f2353433c31121e5ec31f24d70b80c385fb28ff (patch) | |
tree | 25c6e4482c10189121acfa2bf0f54130a9876b63 /gcc/fortran/trans-decl.c | |
parent | 04161e2bde5dee7dbe9c7863f3cb6f262c8d059c (diff) | |
download | gcc-8f2353433c31121e5ec31f24d70b80c385fb28ff.zip gcc-8f2353433c31121e5ec31f24d70b80c385fb28ff.tar.gz gcc-8f2353433c31121e5ec31f24d70b80c385fb28ff.tar.bz2 |
re PR middle-end/16460 (ICE when compiling glibc (ld-ctype.c))
PR middle-end/16460
* cgraph.c (cgraph_unnest_node): New function.
(c_finalize): Rename to ....
(c_warn_unused_result_recursivly): ... this one; do only the warning
(finish_function): Finalize the toplevel function; do not lower nested tree.
* cgraph.h (cgraph_unnest_node): Declare.
* cgraphunit.c (decide_is_function_needed): Do not use cgraph
nestedness datastructure.
* cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
* reload1.c (set_label_offsets): Fix call of set_label_offsets.
* tree-nested.c (finlize_nesting_tree_1): Use un-nesting code.
* utils.c (gnat_finalize): Remove.
(end_subprog_body): Directly call cgraph_finalize_function;
do not lower the nested functions.
* trans-decl.c (build_entry_thunks): Finalize the function; do not lower
tree.
(gfc_generate_function_code): Likewise.
From-SVN: r87770
Diffstat (limited to 'gcc/fortran/trans-decl.c')
-rw-r--r-- | gcc/fortran/trans-decl.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 8cb308d..cbe36f7 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -1255,22 +1255,6 @@ create_function_arglist (gfc_symbol * sym) DECL_ARGUMENTS (fndecl) = arglist; } - -/* Finalize DECL and all nested functions with cgraph. */ - -static void -gfc_finalize (tree decl) -{ - struct cgraph_node *cgn; - - cgn = cgraph_node (decl); - for (cgn = cgn->nested; cgn ; cgn = cgn->next_nested) - gfc_finalize (cgn->decl); - - cgraph_finalize_function (decl, false); -} - - /* Convert FNDECL's code to GIMPLE and handle any nested functions. */ static void @@ -1431,8 +1415,7 @@ build_entry_thunks (gfc_namespace * ns) current_function_decl = NULL_TREE; gfc_gimplify_function (thunk_fndecl); - lower_nested_functions (thunk_fndecl); - gfc_finalize (thunk_fndecl); + cgraph_finalize_function (thunk_fndecl, false); /* We share the symbols in the formal argument list with other entry points and the master function. Clear them so that they are @@ -2313,8 +2296,7 @@ gfc_generate_function_code (gfc_namespace * ns) else { gfc_gimplify_function (fndecl); - lower_nested_functions (fndecl); - gfc_finalize (fndecl); + cgraph_finalize_function (fndecl, false); } } |