]> granicus.if.org Git - clang/commit
Do not run tests for crash recovery if libstdc++ safe mode is enabled
authorSerge Pavlov <sepavloff@gmail.com>
Sat, 15 Apr 2017 05:53:49 +0000 (05:53 +0000)
committerSerge Pavlov <sepavloff@gmail.com>
Sat, 15 Apr 2017 05:53:49 +0000 (05:53 +0000)
commitf246e7a54bd49f99e2c3b6533790c213e1cf4aed
tree9e5d11c0f01c949c2d5688d21de4fb8f1c967aa4
parentf578022ce27acd2234ee75ad8706ba992ea24a59
Do not run tests for crash recovery if libstdc++ safe mode is enabled

If expensive checks are enabled, safe mode of libstdc++ is enabled too.
In this mode the library uses more complex data that allow additional
checks, for instance, a container may keep list of iterators that points
to it. If a code crashes it can leave these complex library objects in
inconsistent state. It occurs in a few tests that check error recovery
if compiler crashes. These test hang in expensive check mode, as the
library tries to synchronize access to the iterators pointing to some
container, but corresponding mutex remains locked after the crash.

This fix marks these tests as unsupported if clang is built with
libstdc++ safe mode enabled.

Differential Revision: https://reviews.llvm.org/D31126

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@300392 91177308-0d34-0410-b5e6-96231b3b80d8
test/Index/crash-recovery-code-complete.c
test/Index/crash-recovery-modules.m
test/Index/crash-recovery-reparse.c
test/Index/crash-recovery.c
test/lit.cfg