diff options
Diffstat (limited to 'gcc/except.c')
-rw-r--r-- | gcc/except.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/gcc/except.c b/gcc/except.c index 889dd61..37bc5bb 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -2972,9 +2972,16 @@ set_nothrow_function_flags (void) } } if (crtl->nothrow - && (cgraph_function_body_availability (cgraph_node (current_function_decl)) + && (cgraph_function_body_availability (cgraph_node + (current_function_decl)) >= AVAIL_AVAILABLE)) - TREE_NOTHROW (current_function_decl) = 1; + { + TREE_NOTHROW (current_function_decl) = 1; + + if (dump_file) + fprintf (dump_file, "Marking function nothrow: %s\n\n", + current_function_name ()); + } return 0; } @@ -2982,7 +2989,7 @@ struct rtl_opt_pass pass_set_nothrow_function_flags = { { RTL_PASS, - NULL, /* name */ + "nothrow", /* name */ NULL, /* gate */ set_nothrow_function_flags, /* execute */ NULL, /* sub */ @@ -2993,7 +3000,7 @@ struct rtl_opt_pass pass_set_nothrow_function_flags = 0, /* properties_provided */ 0, /* properties_destroyed */ 0, /* todo_flags_start */ - 0, /* todo_flags_finish */ + TODO_dump_func, /* todo_flags_finish */ } }; |