Home | History | Annotate | Download | only in debug
      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