------- Comment #5 from pault at gcc dot gnu dot org 2010-01-18 19:55 ------- Index: gcc/fortran/trans-decl.c =================================================================== *** gcc/fortran/trans-decl.c (revision 155875) --- gcc/fortran/trans-decl.c (working copy) *************** gfc_generate_function_code (gfc_namespac *** 4256,4262 **** stmtblock_t block; stmtblock_t body; tree result; ! tree recurcheckvar = NULL; gfc_symbol *sym; int rank; bool is_recursive; --- 4257,4263 ---- stmtblock_t block; stmtblock_t body; tree result; ! tree recurcheckvar = NULL_TREE; gfc_symbol *sym; int rank; bool is_recursive; *************** gfc_generate_function_code (gfc_namespac *** 4446,4456 **** gfc_add_expr_to_block (&block, tmp); /* Reset recursion-check variable. */ if ((gfc_option.rtcheck & GFC_RTCHECK_RECURSION) && !is_recursive ! && !gfc_option.flag_openmp) ! { ! gfc_add_modify (&block, recurcheckvar, boolean_false_node); ! recurcheckvar = NULL; ! } }
--- 4447,4457 ---- gfc_add_expr_to_block (&block, tmp); /* Reset recursion-check variable. */ if ((gfc_option.rtcheck & GFC_RTCHECK_RECURSION) && !is_recursive ! && !gfc_option.flag_openmp && recurcheckvar != NULL_TREE) ! { ! gfc_add_modify (&block, recurcheckvar, boolean_false_node); ! recurcheckvar = NULL_TREE; ! } } Gets rid of the trivial problem reported by Richard. Cheers Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42772