diff options
Diffstat (limited to 'gcc/tree-eh.c')
-rw-r--r-- | gcc/tree-eh.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c index d9baf71..ac87f42 100644 --- a/gcc/tree-eh.c +++ b/gcc/tree-eh.c @@ -1939,6 +1939,14 @@ lower_eh_constructs (void) htab_delete (finally_tree); collect_eh_region_array (); + + /* If this function needs a language specific EH personality routine + and the frontend didn't already set one do so now. */ + if (function_needs_eh_personality (cfun) == eh_personality_lang + && !DECL_FUNCTION_PERSONALITY (current_function_decl)) + DECL_FUNCTION_PERSONALITY (current_function_decl) + = lang_hooks.eh_personality (); + return 0; } |