On Wed, Dec 05, 2012 at 09:42:08PM +0400, Konstantin Serebryany wrote: > On Wed, Dec 5, 2012 at 7:43 PM, Jakub Jelinek <ja...@redhat.com> wrote: > > So, this one fails because we don't instrument string literals, in GCC > > they aren't anything close to global variables (like they are in LLVM?) > > In LLVM, string literals are just regular constant global arrays of chars. > And global overflows in such literals are remarkably frequent, so it's > a good idea to implement this.
Yeah, I'm almost done with it. > > This one fails to match because the filename in that case isn't > > asan_test.cc, but asan_test.C. Can it use say > > ASAN_TEST_NAME macro, > > #ifndef ASAN_TEST_NAME > > # define ASAN_TEST_NAME "asan_test.cc" > > #endif > > > > and replace "zoo.*asan_test.cc" with "zoo.*" ASAN_TEST_NAME (and similarly > > in one of the disabled tests)? Then asan_test.C could just > > #define ASAN_TEST_NAME "asan_test.C" > > before #include "asan_test.cc" > > I'd rather replace it with a regexp asan_test.{cc,C} or even simpler, > drop the extension. Ok? That would be asan_test.(cc|C) (or does gtest have some weirdo regexp extensions (I'm just aware that it is a subset). But yeah, dropping the extension altogether is fine with me. Jakub