]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Backport r251049
authorMartin Liska <mliska@suse.cz>
Fri, 15 Sep 2017 14:11:27 +0000 (16:11 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Fri, 15 Sep 2017 14:11:27 +0000 (14:11 +0000)
2017-09-15  Martin Liska  <mliska@suse.cz>

Backport from mainline
2017-08-11  Martin Liska  <mliska@suse.cz>

PR tree-opt/79987
* tree-chkp.c (chkp_get_bounds_for_decl_addr): Do not instrument
variables of void type.
2017-09-15  Martin Liska  <mliska@suse.cz>

Backport from mainline
2017-08-11  Martin Liska  <mliska@suse.cz>

PR tree-opt/79987
* gcc.target/i386/mpx/pr79987.c: New test.

From-SVN: r252819

gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/mpx/pr79987.c [new file with mode: 0644]
gcc/tree-chkp.c

index df6a3116d0ff2d095f25ba98a0cd528e0b40e522..8093cf663b6220d7ac48f307883974f9eaacbc08 100644 (file)
@@ -1,3 +1,12 @@
+2017-09-15  Martin Liska  <mliska@suse.cz>
+
+       Backport from mainline
+       2017-08-11  Martin Liska  <mliska@suse.cz>
+
+       PR tree-opt/79987
+       * tree-chkp.c (chkp_get_bounds_for_decl_addr): Do not instrument
+       variables of void type.
+
 2017-09-15  Martin Liska  <mliska@suse.cz>
 
        Backport from mainline
index f79cb0d3ff60c963465f75a96ce96f0ba097cfde..7c6425f679c8db9a255834022f5ef3967c500d9a 100644 (file)
@@ -1,3 +1,11 @@
+2017-09-15  Martin Liska  <mliska@suse.cz>
+
+       Backport from mainline
+       2017-08-11  Martin Liska  <mliska@suse.cz>
+
+       PR tree-opt/79987
+       * gcc.target/i386/mpx/pr79987.c: New test.
+
 2017-09-15  Martin Liska  <mliska@suse.cz>
 
        Backport from mainline
diff --git a/gcc/testsuite/gcc.target/i386/mpx/pr79987.c b/gcc/testsuite/gcc.target/i386/mpx/pr79987.c
new file mode 100644 (file)
index 0000000..b3ebda9
--- /dev/null
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+/* { dg-options "-fcheck-pointer-bounds -mmpx" } */
+
+extern void foo;
+void *bar = &foo; /* { dg-warning "taking address of expression of type .void." } */
index 824827768f48bc8169a73b43ce56cbb3fd80a6d0..4d2aa5aeb5793347878f8c57eec9b1070aea4c09 100644 (file)
@@ -3101,6 +3101,9 @@ chkp_get_bounds_for_decl_addr (tree decl)
       && !flag_chkp_incomplete_type)
       return chkp_get_zero_bounds ();
 
+  if (VOID_TYPE_P (TREE_TYPE (decl)))
+    return chkp_get_zero_bounds ();
+
   if (flag_chkp_use_static_bounds
       && TREE_CODE (decl) == VAR_DECL
       && (TREE_STATIC (decl)