From: Vitaly Buka Date: Fri, 11 Sep 2020 21:22:54 +0000 (-0700) Subject: [NFC][Asan] Add another lsan test X-Git-Tag: llvmorg-13-init~12301 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=12292c8b27aca8d173a3a2825f2e8aeb383cc695;p=platform%2Fupstream%2Fllvm.git [NFC][Asan] Add another lsan test --- diff --git a/compiler-rt/test/asan/TestCases/leaks.cpp b/compiler-rt/test/asan/TestCases/leaks.cpp new file mode 100644 index 0000000..9c076dd --- /dev/null +++ b/compiler-rt/test/asan/TestCases/leaks.cpp @@ -0,0 +1,29 @@ +// Test for LeakSanitizer+AddressSanitizer of different sizes. +// REQUIRES: leak-detection +// +// RUN: %clangxx_asan -O0 %s -o %t +// RUN: not %run %t 0 2>&1 | FileCheck %s +// RUN: not %run %t 1 2>&1 | FileCheck %s +// RUN: not %run %t 1000 2>&1 | FileCheck %s +// RUN: not %run %t 1000000 2>&1 | FileCheck %s +// RUN: not %run %t 10000000 2>&1 | FileCheck %s + +#include +#include +#include +int *t; + +__attribute__((noopt)) void leak(int n) { + // Repeat few times to make sure that at least one pointer is + // not somewhere on the stack. + for (int i = 0; i < 10; ++i) { + t = new int[n]; + printf("t: %p\n", t); + t = 0; + } +} + +int main(int argc, char **argv) { + leak(atoi(argv[1])); +} +// CHECK: LeakSanitizer: detected memory leaks