]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Backport r271548
authorMartin Liska <mliska@suse.cz>
Fri, 24 May 2019 07:43:48 +0000 (09:43 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Fri, 24 May 2019 07:43:48 +0000 (07:43 +0000)
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

gcc/ChangeLog
gcc/gimplify.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/asan/pr90570.C [new file with mode: 0644]

index 232dc373939508d1f2041efc33748e5f111296f9..f90cf262fdf355c52ee9338aaf9071db09bd3951 100644 (file)
@@ -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
index e59f38261c3699d88199568c68a4a9ecf0de266e..72f1cc38ff7ea21bf1607569a06d993e570291a8 100644 (file)
@@ -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)
            {
index 7b891bc9f2d151194b0768640e3cc0dd8736a8f3..99c9ab5541aa7f6efd11719b878658cc872bcb10 100644 (file)
@@ -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 (file)
index 0000000..c236690
--- /dev/null
@@ -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;
+}