Backport r249728

2017-09-15  Martin Liska  <mliska@suse.cz>

	Backport from mainline
	2017-06-28  Martin Liska  <mliska@suse.cz>

	PR sanitizer/81224
	* asan.c (instrument_derefs): Bail out inner references
	that are hard register variables.
2017-09-15  Martin Liska  <mliska@suse.cz>

	Backport from mainline
	2017-06-28  Martin Liska  <mliska@suse.cz>

	PR sanitizer/81224
	* gcc.dg/asan/pr81224.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@252814 138bc75d-0d04-0410-961f-82ee72b054a4
This commit is contained in:
marxin 2017-09-15 12:15:52 +00:00
parent bf6a2b0e02
commit 7e31a1ab3c
4 changed files with 31 additions and 0 deletions

View File

@ -1,3 +1,12 @@
2017-09-15 Martin Liska <mliska@suse.cz>
Backport from mainline
2017-06-28 Martin Liska <mliska@suse.cz>
PR sanitizer/81224
* asan.c (instrument_derefs): Bail out inner references
that are hard register variables.
2017-09-15 Martin Liska <mliska@suse.cz>
Backport from mainline

View File

@ -1800,6 +1800,9 @@ instrument_derefs (gimple_stmt_iterator *iter, tree t,
|| bitsize != size_in_bytes * BITS_PER_UNIT)
return;
if (TREE_CODE (inner) == VAR_DECL && DECL_HARD_REGISTER (inner))
return;
if (TREE_CODE (inner) == VAR_DECL
&& offset == NULL_TREE
&& bitpos >= 0

View File

@ -1,3 +1,11 @@
2017-09-15 Martin Liska <mliska@suse.cz>
Backport from mainline
2017-06-28 Martin Liska <mliska@suse.cz>
PR sanitizer/81224
* gcc.dg/asan/pr81224.c: New test.
2017-09-15 Martin Liska <mliska@suse.cz>
Backport from mainline

View File

@ -0,0 +1,11 @@
/* PR sanitizer/80659 */
/* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */
/* { dg-additional-options "-msse2" } */
int a;
int
b ()
{
register __attribute__ ((__vector_size__ (4 * sizeof (int)))) int c asm("xmm0");
return c[a];
}