Index: compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt =================================================================== --- compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt +++ compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt @@ -3,7 +3,6 @@ set(SANITIZER_SOURCES_NOTERMINATION sanitizer_allocator.cc - sanitizer_allocator_checks.cc sanitizer_common.cc sanitizer_deadlock_detector1.cc sanitizer_deadlock_detector2.cc Index: compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator_checks.h =================================================================== --- compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator_checks.h +++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator_checks.h @@ -15,22 +15,17 @@ #ifndef SANITIZER_ALLOCATOR_CHECKS_H #define SANITIZER_ALLOCATOR_CHECKS_H +#include "sanitizer_errno.h" #include "sanitizer_internal_defs.h" #include "sanitizer_common.h" #include "sanitizer_platform.h" namespace __sanitizer { -// The following is defined in a separate compilation unit to avoid pulling in -// sanitizer_errno.h in this header, which leads to conflicts when other system -// headers include errno.h. This is usually the result of an unlikely event, -// and as such we do not care as much about having it inlined. -void SetErrnoToENOMEM(); - // A common errno setting logic shared by almost all sanitizer allocator APIs. INLINE void *SetErrnoOnNull(void *ptr) { if (UNLIKELY(!ptr)) - SetErrnoToENOMEM(); + errno = errno_ENOMEM; return ptr; } Index: compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator_checks.cc =================================================================== --- compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator_checks.cc +++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator_checks.cc @@ -1,23 +0,0 @@ -//===-- sanitizer_allocator_checks.cc ---------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// Various checks shared between ThreadSanitizer, MemorySanitizer, etc. memory -// allocators. -// -//===----------------------------------------------------------------------===// - -#include "sanitizer_errno.h" - -namespace __sanitizer { - -void SetErrnoToENOMEM() { - errno = errno_ENOMEM; -} - -} // namespace __sanitizer