diff options
Diffstat (limited to 'gcc/except.c')
-rw-r--r-- | gcc/except.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/gcc/except.c b/gcc/except.c index cf3cd5f5b99..2015809f4db 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -2620,17 +2620,6 @@ convert_to_eh_region_ranges (void) return 0; } -static bool -gate_convert_to_eh_region_ranges (void) -{ - /* Nothing to do for SJLJ exceptions or if no regions created. */ - if (cfun->eh->region_tree == NULL) - return false; - if (targetm_common.except_unwind_info (&global_options) == UI_SJLJ) - return false; - return true; -} - namespace { const pass_data pass_data_convert_to_eh_region_ranges = @@ -2655,11 +2644,22 @@ public: {} /* opt_pass methods: */ - bool gate () { return gate_convert_to_eh_region_ranges (); } + virtual bool gate (function *); unsigned int execute () { return convert_to_eh_region_ranges (); } }; // class pass_convert_to_eh_region_ranges +bool +pass_convert_to_eh_region_ranges::gate (function *) +{ + /* Nothing to do for SJLJ exceptions or if no regions created. */ + if (cfun->eh->region_tree == NULL) + return false; + if (targetm_common.except_unwind_info (&global_options) == UI_SJLJ) + return false; + return true; +} + } // anon namespace rtl_opt_pass * |