aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2019-05-23 12:12:01 +0200
committerMartin Liska <marxin@gcc.gnu.org>2019-05-23 10:12:01 +0000
commit832ece86e5a9f98f49571ed6407a8d93c4f50e18 (patch)
treea6b30518d5be13069c8276cda611649ee8be1e31 /gcc/gimplify.c
parent02b73313044f66774df9b38eadc519d3d7ee7a1b (diff)
downloadgcc-832ece86e5a9f98f49571ed6407a8d93c4f50e18.zip
gcc-832ece86e5a9f98f49571ed6407a8d93c4f50e18.tar.gz
gcc-832ece86e5a9f98f49571ed6407a8d93c4f50e18.tar.bz2
Do not instrument static target_expr for use-after-scope (PR sanitizer/90570).
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-23 Martin Liska <mliska@suse.cz> PR sanitizer/90570 * g++.dg/asan/pr90570.C: New test. From-SVN: r271548
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 6905165..8337b36 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -6668,6 +6668,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)
{