aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-02-14 08:31:14 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2019-02-14 08:31:14 +0100
commit31de5e4d91c8b348dd23ed2042983b9b057c882c (patch)
treeae214eb2059a26a913a1f136bc1671adbd415af9
parent0ce1c30b22af976b99a1183213ff070ea206d2c9 (diff)
downloadgcc-31de5e4d91c8b348dd23ed2042983b9b057c882c.zip
gcc-31de5e4d91c8b348dd23ed2042983b9b057c882c.tar.gz
gcc-31de5e4d91c8b348dd23ed2042983b9b057c882c.tar.bz2
re PR middle-end/89284 (gcc -fsanitize=undefined inhibits -Wuninitialized)
PR middle-end/89284 * passes.def: Swap pass_ubsan and pass_early_warn_uninitialized. * gcc.dg/ubsan/pr89284.c: New test. From-SVN: r268862
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/passes.def2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/ubsan/pr89284.c23
4 files changed, 34 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7672049..b0cea85 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2019-02-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/89284
+ * passes.def: Swap pass_ubsan and pass_early_warn_uninitialized.
+
2019-02-13 Ian Lance Taylor <iant@golang.org>
* optc-save-gen.awk: Set var_opt_hash for initial optimizations
diff --git a/gcc/passes.def b/gcc/passes.def
index e9d9433..446a7c4 100644
--- a/gcc/passes.def
+++ b/gcc/passes.def
@@ -56,8 +56,8 @@ along with GCC; see the file COPYING3. If not see
NEXT_PASS (pass_fixup_cfg);
NEXT_PASS (pass_build_ssa);
NEXT_PASS (pass_warn_nonnull_compare);
- NEXT_PASS (pass_ubsan);
NEXT_PASS (pass_early_warn_uninitialized);
+ NEXT_PASS (pass_ubsan);
NEXT_PASS (pass_nothrow);
NEXT_PASS (pass_rebuild_cgraph_edges);
POP_INSERT_PASSES ()
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 67059b0..c082cdd 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2019-02-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/89284
+ * gcc.dg/ubsan/pr89284.c: New test.
+
2019-02-13 Ian Lance Taylor <iant@golang.org>
* gcc.dg/func-attr-1.c: New test.
diff --git a/gcc/testsuite/gcc.dg/ubsan/pr89284.c b/gcc/testsuite/gcc.dg/ubsan/pr89284.c
new file mode 100644
index 0000000..0d73e8f
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/ubsan/pr89284.c
@@ -0,0 +1,23 @@
+/* PR middle-end/89284 */
+/* { dg-do compile } */
+/* { dg-options "-fsanitize=undefined -O0 -Wuninitialized" } */
+
+struct A { _Bool a; int i; };
+
+int
+foo (void)
+{
+ struct A a;
+ if (a.i) /* { dg-warning "'a.i' is used uninitialized in this function" } */
+ return 1;
+ return 0;
+}
+
+int
+bar (void)
+{
+ struct A a;
+ if (a.a) /* { dg-warning "'a.a' is used uninitialized in this function" } */
+ return 1;
+ return 0;
+}