aboutsummaryrefslogtreecommitdiff
path: root/gcc/common.opt
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2013-12-04 20:18:18 -0700
committerJeff Law <law@gcc.gnu.org>2013-12-04 20:18:18 -0700
commitae93744d3bca8ba3e54e6f48ec7d80593eb3d6d9 (patch)
tree065fb58430d1417a0032a8917f79040a59ad7213 /gcc/common.opt
parent97d7fffaaf636dae8ece215661935482c854d5aa (diff)
downloadgcc-ae93744d3bca8ba3e54e6f48ec7d80593eb3d6d9.zip
gcc-ae93744d3bca8ba3e54e6f48ec7d80593eb3d6d9.tar.gz
gcc-ae93744d3bca8ba3e54e6f48ec7d80593eb3d6d9.tar.bz2
common.opt: Split up -fisolate-erroneous-paths into -fisolate-erroneous-paths-dereference...
* common.opt: Split up -fisolate-erroneous-paths into -fisolate-erroneous-paths-dereference and -fisolate-erroneous-paths-attribute. * invoke.texi: Corresponding changes. * gimple.c (infer_nonnull_range): Add and use new arguments to control what kind of statements can be used to infer a non-null range. * gimple.h (infer_nonnull_range): Update prototype. * tree-vrp.c (infer_value_range): Corresponding changes. * opts.c (default_options_table): Update due to option split. * gimple-ssa-isolate-paths.c: Fix trailing whitespace. (find_implicit_erroneous_behaviour): Pass additional arguments to infer_nonnull_range. (find_explicit_erroneous_behaviour): Similarly. (gate_isolate_erroneous_paths): Check both of the new options. testsuite/ * gcc.dg/pr38984.c: Use -fno-isolate-erroneous-paths-dereference. * gcc.dg/tree-ssa/isolate-2.c: Explicitly turn on -fisolate-erroneous-paths-attribute. * gcc.dg/tree-ssa/isolate-4.c: Likewise. From-SVN: r205689
Diffstat (limited to 'gcc/common.opt')
-rw-r--r--gcc/common.opt17
1 files changed, 12 insertions, 5 deletions
diff --git a/gcc/common.opt b/gcc/common.opt
index 9ece683..0cd1fdd 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -2112,11 +2112,18 @@ foptimize-strlen
Common Report Var(flag_optimize_strlen) Optimization
Enable string length optimizations on trees
-fisolate-erroneous-paths
-Common Report Var(flag_isolate_erroneous_paths) Optimization
-Detect paths which trigger erroneous or undefined behaviour. Isolate those
-paths from the main control flow and turn the statement with erroneous or
-undefined behaviour into a trap.
+fisolate-erroneous-paths-dereference
+Common Report Var(flag_isolate_erroneous_paths_dereference) Optimization
+Detect paths which trigger erroneous or undefined behaviour due to
+dereferencing a NULL pointer. Isolate those paths from the main control
+flow and turn the statement with erroneous or undefined behaviour into a trap.
+
+fisolate-erroneous-paths-attribute
+Common Report Var(flag_isolate_erroneous_paths_attribute) Optimization
+Detect paths which trigger erroneous or undefined behaviour due a NULL value
+being used in a way which is forbidden by a returns_nonnull or nonnull
+attribute. Isolate those paths from the main control flow and turn the
+statement with erroneous or undefined behaviour into a trap.
ftree-loop-distribution
Common Report Var(flag_tree_loop_distribution) Optimization