• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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