[gcc/devel/omp/gcc-9] Backport r271548

Tobias Burnus burnus@gcc.gnu.org
Thu Mar 5 13:52:00 GMT 2020


https://gcc.gnu.org/g:b8e1dc7573c63559c3e2f0136cf148b112b09958

commit b8e1dc7573c63559c3e2f0136cf148b112b09958
Author: Martin Liska <mliska@suse.cz>
Date:   Fri May 24 09:43:48 2019 +0200

    Backport r271548
    
    2019-05-24  Martin Liska  <mliska@suse.cz>
    
    	Backport from mainline
    	2019-05-23  Martin Liska  <mliska@suse.cz>
    
    	PR sanitizer/90570
    	* gimplify.c (gimplify_target_expr): Skip TREE_STATIC target
    	expression similarly to gimplify_decl_expr.
    2019-05-24  Martin Liska  <mliska@suse.cz>
    
    	Backport from mainline
    	2019-05-23  Martin Liska  <mliska@suse.cz>
    
    	PR sanitizer/90570
    	* g++.dg/asan/pr90570.C: New test.
    
    From-SVN: r271593

Diff:
---
 gcc/ChangeLog                       |  9 +++++++++
 gcc/gimplify.c                      |  1 +
 gcc/testsuite/ChangeLog             |  8 ++++++++
 gcc/testsuite/g++.dg/asan/pr90570.C | 18 ++++++++++++++++++
 4 files changed, 36 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 232dc37..f90cf26 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2019-05-24  Martin Liska  <mliska@suse.cz>
+
+	Backport from mainline
+	2019-05-23  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/90570
+	* gimplify.c (gimplify_target_expr): Skip TREE_STATIC target
+	expression similarly to gimplify_decl_expr.
+
 2019-05-22  Uroš Bizjak  <ubizjak@gmail.com>
 
 	Backported from mainline
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index e59f382..72f1cc3 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -6662,6 +6662,7 @@ gimplify_target_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p)
 	    }
 	  if (asan_poisoned_variables
 	      && DECL_ALIGN (temp) <= MAX_SUPPORTED_STACK_ALIGNMENT
+	      && !TREE_STATIC (temp)
 	      && dbg_cnt (asan_use_after_scope)
 	      && !gimplify_omp_ctxp)
 	    {
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 7b891bc..99c9ab5 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2019-05-24  Martin Liska  <mliska@suse.cz>
+
+	Backport from mainline
+	2019-05-23  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/90570
+	* g++.dg/asan/pr90570.C: New test.
+
 2019-05-23  Eric Botcazou  <ebotcazou@adacore.com>
 
 	* gnat.dg/opt78.ad[sb]: New test.
diff --git a/gcc/testsuite/g++.dg/asan/pr90570.C b/gcc/testsuite/g++.dg/asan/pr90570.C
new file mode 100644
index 0000000..c236690
--- /dev/null
+++ b/gcc/testsuite/g++.dg/asan/pr90570.C
@@ -0,0 +1,18 @@
+/* PR sanitizer/90570 */
+/* { dg-do run } */
+
+#include <vector>
+
+struct stru
+{
+  std::vector<int> v{1,2,3,4};
+  int i{5};
+};
+
+int main()
+{
+  stru s1;
+  stru s2;
+
+  return 0;
+}



More information about the Gcc-cvs mailing list