Disable Leak Sanitizer

I recently upgraded from Clang 3.4 to 3.5. Clang 3.5 added a Leak
Sanitizer, and its part of Asan.

Leak Sanitizer is aborting a test suite because the developers don't
think its important to fix a test program (sigh...). I want to disable
Leak Sanitizer, but http://clang.llvm.org/docs/AddressSanitizer.html
and GitHub - google/sanitizers: AddressSanitizer, ThreadSanitizer, MemorySanitizer
does not discuss it.

I don't really want to go through and write a suppression rule for
each offending function. That's because there are 6 components in this
suite, and the tests for them may change over time.

How do I disable the Leak Sanitizer?

Thanks in advance.

Hi Jeffrey,

At one point we should go and document it on the wiki, for now I’ll just briefly outline options here:

There are multiple ways to disable LeakSanitizer:

  1. source-level annotations (see <sanitizer/lsan_interface.h> header) - mark specific objects as intentionally-leaked
  2. link in
    extern “C” int __lsan_is_turned_off() { return 1; }
    into binary (see <sanitizer/lsan_interface.h>) you want to exclude from leak detection.
  3. pass ASAN_OPTIONS=detect_leaks=0 environment variable to disable leak detection at run-time.