aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/passes.c6
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 66e0b2c..b4c8aff 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2015-03-25 Richard Biener <rguenther@suse.de>
+
+ * passes.c (pass_manager::execute_early_local_passes): Guard
+ execution of pass_chkp_instrumentation_passes with
+ flag_check_pointer_bounds.
+ (pass_chkp_instrumentation_passes::gate): Likewise.
+
2015-03-25 Martin Liska <mliska@suse.cz>
PR tree-optimization/65538
diff --git a/gcc/passes.c b/gcc/passes.c
index 23a90d9..062ae4f0 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -156,7 +156,8 @@ void
pass_manager::execute_early_local_passes ()
{
execute_pass_list (cfun, pass_build_ssa_passes_1->sub);
- execute_pass_list (cfun, pass_chkp_instrumentation_passes_1->sub);
+ if (flag_check_pointer_bounds)
+ execute_pass_list (cfun, pass_chkp_instrumentation_passes_1->sub);
execute_pass_list (cfun, pass_local_optimization_passes_1->sub);
}
@@ -424,7 +425,8 @@ public:
virtual bool gate (function *)
{
/* Don't bother doing anything if the program has errors. */
- return (!seen_error () && !in_lto_p);
+ return (flag_check_pointer_bounds
+ && !seen_error () && !in_lto_p);
}
}; // class pass_chkp_instrumentation_passes