summaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/except.c')
-rw-r--r--gcc/except.c24
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 *