1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef BASE_DEBUG_LEAK_ANNOTATIONS_H_ 6 #define BASE_DEBUG_LEAK_ANNOTATIONS_H_ 7 #pragma once 8 9 #include "build/build_config.h" 10 11 #if defined(OS_LINUX) && defined(USE_HEAPCHECKER) 12 13 #include "third_party/tcmalloc/chromium/src/google/heap-checker.h" 14 15 // Annotate a program scope as having memory leaks. Tcmalloc's heap leak 16 // checker will ignore them. Note that these annotations may mask real bugs 17 // and should not be used in the production code. 18 #define ANNOTATE_SCOPED_MEMORY_LEAK \ 19 HeapLeakChecker::Disabler heap_leak_checker_disabler 20 21 #else 22 23 // If tcmalloc is not used, the annotations should be no-ops. 24 #define ANNOTATE_SCOPED_MEMORY_LEAK 25 26 #endif 27 28 #endif // BASE_DEBUG_LEAK_ANNOTATIONS_H_ 29