aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple.h
diff options
context:
space:
mode:
authorManuel López-Ibáñez <manu@gcc.gnu.org>2015-08-05 17:36:29 +0000
committerManuel López-Ibáñez <manu@gcc.gnu.org>2015-08-05 17:36:29 +0000
commit76787f70097bb232a9bb4afbd9e8c190e57291f0 (patch)
tree95eb22912610de69685ef6ec213edea83c4c6c6d /gcc/gimple.h
parent72a35f9354f285d7ab6211c6c1b71056969f90c7 (diff)
downloadgcc-76787f70097bb232a9bb4afbd9e8c190e57291f0.zip
gcc-76787f70097bb232a9bb4afbd9e8c190e57291f0.tar.gz
gcc-76787f70097bb232a9bb4afbd9e8c190e57291f0.tar.bz2
re PR c/16351 (NULL dereference warnings)
gcc/ChangeLog: 2015-08-05 Manuel López-Ibáñez <manu@gcc.gnu.org> Jeff Law <law@redhat.com> PR c/16351 * doc/invoke.texi (Wnull-dereference): New. * tree-vrp.c (infer_value_range): Update call to infer_nonnull_range. * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour): Warn for potential NULL dereferences. (find_explicit_erroneous_behaviour): Warn for NULL dereferences. * ubsan.c (instrument_nonnull_arg): Call infer_nonnull_range_by_attribute. (instrument_nonnull_return): Likewise. * common.opt (Wnull-dereference); New. * gimple.c (infer_nonnull_range): Remove bool arguments. (infer_nonnull_range_by_dereference): New. (infer_nonnull_range_by_attribute): New. * gimple.h: Update declarations. gcc/testsuite/ChangeLog: 2015-08-05 Manuel López-Ibáñez <manu@gcc.gnu.org> Jeff Law <law@redhat.com> PR c/16351 * gcc.dg/tree-ssa/isolate-2.c: Close comment. * gcc.dg/tree-ssa/isolate-4.c: Likewise. * gcc.dg/tree-ssa/wnull-dereference.c: New test. * gcc.dg/tree-ssa/isolate-1.c: Test warnings with -Wnull-dereference. * gcc.dg/tree-ssa/isolate-3.c: Likewise. * gcc.dg/tree-ssa/isolate-5.c: Likewise. Co-Authored-By: Jeff Law <law@redhat.com> From-SVN: r226640
Diffstat (limited to 'gcc/gimple.h')
-rw-r--r--gcc/gimple.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/gimple.h b/gcc/gimple.h
index 596d28d..d4467b5 100644
--- a/gcc/gimple.h
+++ b/gcc/gimple.h
@@ -1401,7 +1401,9 @@ extern bool gimple_call_builtin_p (const_gimple, enum built_in_function);
extern bool gimple_asm_clobbers_memory_p (const gasm *);
extern void dump_decl_set (FILE *, bitmap);
extern bool nonfreeing_call_p (gimple);
-extern bool infer_nonnull_range (gimple, tree, bool, bool);
+extern bool infer_nonnull_range (gimple, tree);
+extern bool infer_nonnull_range_by_dereference (gimple, tree);
+extern bool infer_nonnull_range_by_attribute (gimple, tree);
extern void sort_case_labels (vec<tree>);
extern void preprocess_case_label_vec_for_gimple (vec<tree>, tree, tree *);
extern void gimple_seq_set_location (gimple_seq, location_t);