diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-11 21:58:28 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-11 21:58:28 +0000 |
commit | 5ca2744311af9962130fa27d2dd2c4ad869d7504 (patch) | |
tree | ada11b42e8d889afa05f07093bbaa61bbf475a0f /base/leak_annotations.h | |
parent | 14e101c0ac5dbf5863ffa0cb38609353eae6d089 (diff) | |
download | chromium_src-5ca2744311af9962130fa27d2dd2c4ad869d7504.zip chromium_src-5ca2744311af9962130fa27d2dd2c4ad869d7504.tar.gz chromium_src-5ca2744311af9962130fa27d2dd2c4ad869d7504.tar.bz2 |
Implement the memory leak annotations for heap leak checker.
leak_annotations.h provides the ANNOTATE_SCOPED_MEMORY_LEAK macro
that can be used for annotating known memory leaks in the tests.
Those will be ignored by the heap leak checker.
Patch contributed by ramosian.glider@gmail.com.
Original review at http://codereview.chromium.org/346038/show
Review URL: http://codereview.chromium.org/385049
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31721 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/leak_annotations.h')
-rw-r--r-- | base/leak_annotations.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/base/leak_annotations.h b/base/leak_annotations.h new file mode 100644 index 0000000..aa57dff --- /dev/null +++ b/base/leak_annotations.h @@ -0,0 +1,25 @@ +// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef BASE_LEAK_ANNOTATIONS_H_ +#define BASE_LEAK_ANNOTATIONS_H_ + +#if defined(LINUX_USE_TCMALLOC) && defined(LINUX_USE_HEAPCHECKER) + +#include "third_party/tcmalloc/heap-checker.h" + +// Annotate a program scope as having memory leaks. Tcmalloc's heap leak +// checker will ignore them. Note that these annotations may mask real bugs +// and should not be used in the production code. +#define ANNOTATE_SCOPED_MEMORY_LEAK \ + HeapLeakChecker::Disabler heap_leak_checker_disabler + +#else + +// If tcmalloc is not used, the annotations should be no-ops. +#define ANNOTATE_SCOPED_MEMORY_LEAK + +#endif + +#endif // BASE_LEAK_ANNOTATIONS_H_ |