summaryrefslogtreecommitdiff
path: root/test/tsan/libdispatch/lit.local.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'test/tsan/libdispatch/lit.local.cfg')
-rw-r--r--test/tsan/libdispatch/lit.local.cfg17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/tsan/libdispatch/lit.local.cfg b/test/tsan/libdispatch/lit.local.cfg
new file mode 100644
index 000000000..9d3cf7548
--- /dev/null
+++ b/test/tsan/libdispatch/lit.local.cfg
@@ -0,0 +1,17 @@
+def getRoot(config):
+ if not config.parent:
+ return config
+ return getRoot(config.parent)
+
+root = getRoot(config)
+
+if 'libdispatch' in root.available_features:
+ additional_cflags = ' -fblocks '
+ for index, (template, replacement) in enumerate(config.substitutions):
+ if template in ['%clang_tsan ', '%clangxx_tsan ']:
+ config.substitutions[index] = (template, replacement + additional_cflags)
+else:
+ config.unsupported = True
+
+if config.host_os == 'Darwin':
+ config.environment['TSAN_OPTIONS'] += ':ignore_noninstrumented_modules=1'