mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-05 08:58:30 +00:00
a693b907c7
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 llvm-svn: 300392
16 lines
597 B
C
16 lines
597 B
C
// RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_PREAMBLE_FILE=%t-preamble.pch \
|
|
// RUN: not c-index-test -code-completion-at=%s:20:1 \
|
|
// RUN: "-remap-file=%s,%S/Inputs/crash-recovery-code-complete-remap.c" \
|
|
// RUN: %s 2> %t.err
|
|
// RUN: FileCheck < %t.err -check-prefix=CHECK-CODE-COMPLETE-CRASH %s
|
|
// RUN: test ! -e %t-preamble.pch
|
|
// CHECK-CODE-COMPLETE-CRASH: Unable to perform code completion!
|
|
//
|
|
// REQUIRES: crash-recovery
|
|
|
|
// FIXME: Please investigate abnormal path in MemoryBuffer.
|
|
// REQUIRES: can-remove-opened-file
|
|
// UNSUPPORTED: libstdcxx-safe-mode
|
|
|
|
#warning parsing original file
|