mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-18 14:31:48 +08:00
Sanopt: ignore params with DECL_HAS_VALUE_EXPR_P (PR sanitizer/86962).
2018-08-27 Martin Liska <mliska@suse.cz> PR sanitizer/86962 * sanopt.c (sanitize_rewrite_addressable_params): Ignore params with DECL_HAS_VALUE_EXPR_P. 2018-08-27 Martin Liska <mliska@suse.cz> PR sanitizer/86962 * gcc.dg/asan/pr86962.c: New test. From-SVN: r263882
This commit is contained in:
parent
6b60ee204f
commit
47c3496bf8
@ -1,3 +1,9 @@
|
||||
2018-08-27 Martin Liska <mliska@suse.cz>
|
||||
|
||||
PR sanitizer/86962
|
||||
* sanopt.c (sanitize_rewrite_addressable_params): Ignore
|
||||
params with DECL_HAS_VALUE_EXPR_P.
|
||||
|
||||
2018-08-27 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* config/i386/i386.c (ix86_expand_set_or_movmem): Dump
|
||||
|
@ -1165,13 +1165,15 @@ sanitize_rewrite_addressable_params (function *fun)
|
||||
|
||||
gimple_add_tmp_var (var);
|
||||
|
||||
/* We skip parameters that have a DECL_VALUE_EXPR. */
|
||||
if (DECL_HAS_VALUE_EXPR_P (arg))
|
||||
continue;
|
||||
|
||||
if (dump_file)
|
||||
fprintf (dump_file,
|
||||
"Rewriting parameter whose address is taken: %s\n",
|
||||
IDENTIFIER_POINTER (DECL_NAME (arg)));
|
||||
|
||||
gcc_assert (!DECL_HAS_VALUE_EXPR_P (arg));
|
||||
|
||||
SET_DECL_PT_UID (var, DECL_PT_UID (arg));
|
||||
|
||||
/* Assign value of parameter to newly created variable. */
|
||||
|
@ -1,3 +1,8 @@
|
||||
2018-08-27 Martin Liska <mliska@suse.cz>
|
||||
|
||||
PR sanitizer/86962
|
||||
* gcc.dg/asan/pr86962.c: New test.
|
||||
|
||||
2018-08-27 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* gcc.dg/tree-prof/val-prof-10.c: New test.
|
||||
|
13
gcc/testsuite/gcc.dg/asan/pr86962.c
Normal file
13
gcc/testsuite/gcc.dg/asan/pr86962.c
Normal file
@ -0,0 +1,13 @@
|
||||
/* PR sanitizer/86962 */
|
||||
/* { dg-do compile } */
|
||||
|
||||
extern int dummy (int *);
|
||||
|
||||
void foo(int i)
|
||||
{
|
||||
int j=i;
|
||||
|
||||
void bar() { int x=j, y=i; }
|
||||
|
||||
dummy(&i);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user