This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] [asan] Fix for PR asan/56330


On Fri, Feb 15, 2013 at 06:01:05PM -0500, Jack Howarth wrote:
> On Fri, Feb 15, 2013 at 09:54:19PM +0100, Dodji Seketeli wrote:
> FAIL: c-c++-common/asan/no-redundant-instrumentation-7.c  -O0   scan-tree-dump-times asan0 "__builtin___asan_report_load" 6
> 
> at both -m32 and -m64. The no-redundant-instrumentation-7.s from the failing -m64
> test case is attached, generated with...

I think
void
foo  (int *a, char *b, char *c)
{
  __builtin_memcmp (s.a, e, 100);
  __builtin_memcmp (s.a, e, 200);
}
is problematic, for -O1 both calls would be definitely removed, because they
are pure, and even at -O0 I guess they might be expanded into nothing.
Perhaps
int
foo ()
{
  int i = __builtin_memcmp (s.a, e, 100);
  i += __builtin_memcmp (s.a, e, 200);
  return i;
}
or similar would work better.  And for pr56330.c testcase, which is there to
verify that we don't ICE on it and I believe there was important that both
builtins are adjacent, perhaps it should be __builtin_memcpy instead.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]