From: Martin Liska Date: Fri, 24 May 2019 07:43:48 +0000 (+0200) Subject: Backport r271548 X-Git-Tag: releases/gcc-9.2.0~325 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b8e1dc7573c63559c3e2f0136cf148b112b09958;p=thirdparty%2Fgcc.git Backport r271548 2019-05-24 Martin Liska Backport from mainline 2019-05-23 Martin Liska PR sanitizer/90570 * gimplify.c (gimplify_target_expr): Skip TREE_STATIC target expression similarly to gimplify_decl_expr. 2019-05-24 Martin Liska Backport from mainline 2019-05-23 Martin Liska PR sanitizer/90570 * g++.dg/asan/pr90570.C: New test. From-SVN: r271593 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 232dc3739395..f90cf262fdf3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2019-05-24 Martin Liska + + Backport from mainline + 2019-05-23 Martin Liska + + PR sanitizer/90570 + * gimplify.c (gimplify_target_expr): Skip TREE_STATIC target + expression similarly to gimplify_decl_expr. + 2019-05-22 Uroš Bizjak Backported from mainline diff --git a/gcc/gimplify.c b/gcc/gimplify.c index e59f38261c36..72f1cc38ff7e 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 7b891bc9f2d1..99c9ab5541aa 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2019-05-24 Martin Liska + + Backport from mainline + 2019-05-23 Martin Liska + + PR sanitizer/90570 + * g++.dg/asan/pr90570.C: New test. + 2019-05-23 Eric Botcazou * 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 000000000000..c23669055165 --- /dev/null +++ b/gcc/testsuite/g++.dg/asan/pr90570.C @@ -0,0 +1,18 @@ +/* PR sanitizer/90570 */ +/* { dg-do run } */ + +#include + +struct stru +{ + std::vector v{1,2,3,4}; + int i{5}; +}; + +int main() +{ + stru s1; + stru s2; + + return 0; +}