[PATCH] D31126: Do not run tests for crash recovery if libstdc++ safe mode is enabled
Serge Pavlov via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 14 23:06:37 PDT 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rL300392: Do not run tests for crash recovery if libstdc++ safe mode is enabled (authored by sepavloff).
Changed prior to commit:
https://reviews.llvm.org/D31126?vs=92276&id=95372#toc
Repository:
rL LLVM
https://reviews.llvm.org/D31126
Files:
cfe/trunk/test/Index/crash-recovery-code-complete.c
cfe/trunk/test/Index/crash-recovery-modules.m
cfe/trunk/test/Index/crash-recovery-reparse.c
cfe/trunk/test/Index/crash-recovery.c
cfe/trunk/test/lit.cfg
Index: cfe/trunk/test/Index/crash-recovery-reparse.c
===================================================================
--- cfe/trunk/test/Index/crash-recovery-reparse.c
+++ cfe/trunk/test/Index/crash-recovery-reparse.c
@@ -7,5 +7,6 @@
// CHECK-REPARSE-SOURCE-CRASH: Unable to reparse translation unit
//
// REQUIRES: crash-recovery
+// UNSUPPORTED: libstdcxx-safe-mode
#warning parsing original file
Index: cfe/trunk/test/Index/crash-recovery.c
===================================================================
--- cfe/trunk/test/Index/crash-recovery.c
+++ cfe/trunk/test/Index/crash-recovery.c
@@ -4,5 +4,6 @@
// RUN: env LIBCLANG_DISABLE_CRASH_RECOVERY=1 not --crash c-index-test -test-load-source all %s
//
// REQUIRES: crash-recovery
+// UNSUPPORTED: libstdcxx-safe-mode
#pragma clang __debug crash
Index: cfe/trunk/test/Index/crash-recovery-code-complete.c
===================================================================
--- cfe/trunk/test/Index/crash-recovery-code-complete.c
+++ cfe/trunk/test/Index/crash-recovery-code-complete.c
@@ -10,5 +10,6 @@
// FIXME: Please investigate abnormal path in MemoryBuffer.
// REQUIRES: can-remove-opened-file
+// UNSUPPORTED: libstdcxx-safe-mode
#warning parsing original file
Index: cfe/trunk/test/Index/crash-recovery-modules.m
===================================================================
--- cfe/trunk/test/Index/crash-recovery-modules.m
+++ cfe/trunk/test/Index/crash-recovery-modules.m
@@ -4,14 +4,15 @@
// Parse the file, such that building the module will cause Clang to crash.
// RUN: not env CINDEXTEST_FAILONERROR=1 c-index-test -test-load-source all -fmodules -fmodules-cache-path=%t -Xclang -fdisable-module-hash -I %S/Inputs/Headers -DCRASH %s > /dev/null 2> %t.err
// RUN: FileCheck < %t.err -check-prefix=CHECK-CRASH %s
-// CHECK-CRASH: crash-recovery-modules.m:16:9:{16:2-16:14}: fatal error: could not build module 'Crash'
+// CHECK-CRASH: crash-recovery-modules.m:17:9:{17:2-17:14}: fatal error: could not build module 'Crash'
// Parse the file again, without crashing, to make sure that
// subsequent parses do the right thing.
// RUN: env CINDEXTEST_FAILONERROR=1 c-index-test -test-load-source all -fmodules -fmodules-cache-path=%t -Xclang -fdisable-module-hash -I %S/Inputs/Headers %s > /dev/null
// REQUIRES: crash-recovery
// REQUIRES: shell
+// UNSUPPORTED: libstdcxx-safe-mode
@import Crash;
Index: cfe/trunk/test/lit.cfg
===================================================================
--- cfe/trunk/test/lit.cfg
+++ cfe/trunk/test/lit.cfg
@@ -440,15 +440,17 @@
if platform.system() not in ['Windows']:
config.available_features.add('can-remove-opened-file')
-# Returns set of available features, registered-target(s) and asserts.
+# Returns set of available features, registered-target(s), asserts and
+# compile definitions.
def get_llvm_config_props():
set_of_features = set()
cmd = subprocess.Popen(
[
os.path.join(llvm_tools_dir, 'llvm-config'),
'--assertion-mode',
'--targets-built',
+ '--cxxflags'
],
stdout=subprocess.PIPE,
env=config.environment
@@ -463,6 +465,11 @@
for arch in cmd.stdout.readline().decode('ascii').split():
set_of_features.add(arch.lower() + '-registered-target')
+ # 3rd line contains compile definitions, search it to define if
+ # libstdc++ safe mode is set.
+ if re.search(r'-D_GLIBCXX_DEBUG\b', cmd.stdout.readline().decode('ascii')):
+ set_of_features.add('libstdcxx-safe-mode')
+
return set_of_features
config.available_features.update(get_llvm_config_props())
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31126.95372.patch
Type: text/x-patch
Size: 3671 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170415/f5721f81/attachment.bin>
More information about the cfe-commits
mailing list