summaryrefslogtreecommitdiff
path: root/test/msan/lit.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'test/msan/lit.cfg')
-rw-r--r--test/msan/lit.cfg30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/msan/lit.cfg b/test/msan/lit.cfg
new file mode 100644
index 0000000000000..f425e25957ac1
--- /dev/null
+++ b/test/msan/lit.cfg
@@ -0,0 +1,30 @@
+# -*- Python -*-
+
+import os
+
+# Setup config name.
+config.name = 'MemorySanitizer'
+
+# Setup source root.
+config.test_source_root = os.path.dirname(__file__)
+
+# Setup default compiler flags used with -fsanitize=memory option.
+clang_msan_cflags = ["-fsanitize=memory",
+ "-mno-omit-leaf-frame-pointer",
+ "-fno-omit-frame-pointer",
+ "-fno-optimize-sibling-calls",
+ "-m64"] + config.debug_info_flags
+clang_msan_cxxflags = config.cxx_mode_flags + clang_msan_cflags
+
+def build_invocation(compile_flags):
+ return " " + " ".join([config.clang] + compile_flags) + " "
+
+config.substitutions.append( ("%clang_msan ", build_invocation(clang_msan_cflags)) )
+config.substitutions.append( ("%clangxx_msan ", build_invocation(clang_msan_cxxflags)) )
+
+# Default test suffixes.
+config.suffixes = ['.c', '.cc', '.cpp']
+
+# MemorySanitizer tests are currently supported on Linux only.
+if config.host_os not in ['Linux']:
+ config.unsupported = True