re PR sanitizer/89124 (__attribute__((no_sanitize_address)) interferes with __attribute__((target(xxx))))
PR sanitizer/89124 * ipa-inline.c (sanitize_attrs_match_for_inline_p): Allow inlining always_inline callees into no_sanitize_address callers. * c-c++-common/asan/pr89124.c: New test. From-SVN: r268415
This commit is contained in:
parent
f4caead02f
commit
6206a883fe
4 changed files with 31 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2019-01-31 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR sanitizer/89124
|
||||
* ipa-inline.c (sanitize_attrs_match_for_inline_p): Allow inlining
|
||||
always_inline callees into no_sanitize_address callers.
|
||||
|
||||
2019-01-31 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR rtl-optimization/89115
|
||||
|
|
|
@ -264,6 +264,12 @@ sanitize_attrs_match_for_inline_p (const_tree caller, const_tree callee)
|
|||
if (!caller || !callee)
|
||||
return true;
|
||||
|
||||
/* Allow inlining always_inline functions into no_sanitize_address
|
||||
functions. */
|
||||
if (!sanitize_flags_p (SANITIZE_ADDRESS, caller)
|
||||
&& lookup_attribute ("always_inline", DECL_ATTRIBUTES (callee)))
|
||||
return true;
|
||||
|
||||
return ((sanitize_flags_p (SANITIZE_ADDRESS, caller)
|
||||
== sanitize_flags_p (SANITIZE_ADDRESS, callee))
|
||||
&& (sanitize_flags_p (SANITIZE_POINTER_COMPARE, caller)
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2019-01-31 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR sanitizer/89124
|
||||
* c-c++-common/asan/pr89124.c: New test.
|
||||
|
||||
2019-01-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR fortran/52564
|
||||
|
|
14
gcc/testsuite/c-c++-common/asan/pr89124.c
Normal file
14
gcc/testsuite/c-c++-common/asan/pr89124.c
Normal file
|
@ -0,0 +1,14 @@
|
|||
/* PR sanitizer/89124 */
|
||||
/* { dg-do compile } */
|
||||
|
||||
static int inline __attribute__ ((always_inline))
|
||||
foo (int x)
|
||||
{
|
||||
return x + 1;
|
||||
}
|
||||
|
||||
__attribute__ ((no_sanitize_address)) int
|
||||
bar (int x)
|
||||
{
|
||||
return foo (x);
|
||||
}
|
Loading…
Add table
Reference in a new issue