+2017-03-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/79955
+ * tree-ssa-uninit.c (warn_uninitialized_vars): Do not warn
+ for accesses that are completely outside of the variable.
+
2017-03-08 Andrew Haley <aph@redhat.com>
PR tree-optimization/79943
PR tree-optimization/79943
* gcc.dg/tree-ssa/pr79943.c: New test.
+2017-03-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/79955
+ * gcc.dg/uninit-24.c: New testcase.
+
2017-03-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/79920
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O -Wmaybe-uninitialized" } */
+
+int foo (int x)
+{
+ int y;
+ if (x)
+ return *(&y + 1); /* { dg-bogus "may be used uninitialized" } */
+ return 0;
+}
|| TREE_NO_WARNING (base))
continue;
+ /* Do not warn if the access is fully outside of the
+ variable. */
+ if (ref.size != -1
+ && ref.max_size == ref.size
+ && (ref.offset + ref.size <= 0
+ || (ref.offset >= 0
+ && TREE_CODE (DECL_SIZE (base)) == INTEGER_CST
+ && compare_tree_int (DECL_SIZE (base),
+ ref.offset) <= 0)))
+ continue;
+
/* Limit the walking to a constant number of stmts after
we overcommit quadratic behavior for small functions
and O(n) behavior. */