Guard some function definitions for ASan

This commit is contained in:
John Wiegley 2012-07-30 23:24:15 -05:00
parent 14ab4f7775
commit 8538878d8d

View file

@ -153,6 +153,8 @@ std::size_t current_memory_size()
return memory_size; return memory_size;
} }
#if !defined(__has_feature) || !__has_feature(address_sanitizer)
static void trace_new_func(void * ptr, const char * which, std::size_t size) static void trace_new_func(void * ptr, const char * which, std::size_t size)
{ {
if (! live_memory || ! memory_tracing_active) return; if (! live_memory || ! memory_tracing_active) return;
@ -221,8 +223,12 @@ static void trace_delete_func(void * ptr, const char * which)
memory_tracing_active = true; memory_tracing_active = true;
} }
#endif // !defined(__has_feature) || !__has_feature(address_sanitizer)
} // namespace ledger } // namespace ledger
#if !defined(__has_feature) || !__has_feature(address_sanitizer)
void * operator new(std::size_t size) throw (std::bad_alloc) { void * operator new(std::size_t size) throw (std::bad_alloc) {
void * ptr = std::malloc(size); void * ptr = std::malloc(size);
if (DO_VERIFY() && ledger::memory_tracing_active) if (DO_VERIFY() && ledger::memory_tracing_active)
@ -268,6 +274,8 @@ void operator delete[](void * ptr, const std::nothrow_t&) throw() {
std::free(ptr); std::free(ptr);
} }
#endif // !defined(__has_feature) || !__has_feature(address_sanitizer)
namespace ledger { namespace ledger {
namespace { namespace {