]> granicus.if.org Git - clang/commit
[analyzer] RunLoopAutoreleaseLeakChecker: Come up with a test for r348822.
authorArtem Dergachev <artem.dergachev@gmail.com>
Thu, 13 Dec 2018 01:30:47 +0000 (01:30 +0000)
committerArtem Dergachev <artem.dergachev@gmail.com>
Thu, 13 Dec 2018 01:30:47 +0000 (01:30 +0000)
commit8f04bba0e5714f154d79ab04dfac62fd5fd8ff07
treee3754321b1c0b7b91c105ea14e11ea0d0e64ec72
parentfeb1567e07573100ea14f9aea02f81463e791496
[analyzer] RunLoopAutoreleaseLeakChecker: Come up with a test for r348822.

Statement memoization was removed in r348822 because it was noticed to cause
memory corruption. This was happening because a reference to an object
in a DenseMap was used after being invalidated by inserting a new key
into the map.

This test case crashes reliably under ASan (i.e., when Clang is built with
-DLLVM_USE_SANITIZER="Address") on at least some machines before r348822
and doesn't crash after it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@349000 91177308-0d34-0410-b5e6-96231b3b80d8
test/Analysis/Checkers/RunLoopAutoreleaseLeakChecker.m