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