From ae8bc6b3efbf55f1efd2f19f2eaca496dfb636b3 Mon Sep 17 00:00:00 2001
From: Eric Fiselier
Date: Fri, 16 Jan 2015 21:22:08 +0000
Subject: [PATCH] Add 'no_default_flags' option for turning off all default
test compile and link flags.
When 'no_default_flags' is true only flags passed using '--param=compile_flags'
and '--param=link_flags' will be used when compiling the tests. This option
can be used to run the test suite against libstdc++ and helps with all
unusual test suite configurations.
NOTE: sanitizer flags are still added when '--param=use_sanitizer' is used even
if '--param=no_default_flags' is given.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@226322 91177308-0d34-0410-b5e6-96231b3b80d8
---
test/libcxx/test/config.py | 30 ++++++++++++++++++------------
www/lit_usage.html | 10 ++++++++++
2 files changed, 28 insertions(+), 12 deletions(-)
diff --git a/test/libcxx/test/config.py b/test/libcxx/test/config.py
index 70af0df4..e4d3b64f 100644
--- a/test/libcxx/test/config.py
+++ b/test/libcxx/test/config.py
@@ -262,6 +262,14 @@ class Configuration(object):
self.config.available_features.add('long_tests')
def configure_compile_flags(self):
+ no_default_flags = self.get_lit_bool('no_default_flags', False)
+ if not no_default_flags:
+ self.configure_default_compile_flags()
+ # Configure extra flags
+ compile_flags_str = self.get_lit_conf('compile_flags', '')
+ self.compile_flags += shlex.split(compile_flags_str)
+
+ def configure_default_compile_flags(self):
# Try and get the std version from the command line. Fall back to
# default given in lit.site.cfg is not present. If default is not
# present then force c++11.
@@ -294,10 +302,6 @@ class Configuration(object):
' enable_threads is true.')
# Use verbose output for better errors
self.compile_flags += ['-v']
- # Configure extra compile flags.
- compile_flags_str = self.get_lit_conf('compile_flags', '')
- self.compile_flags += shlex.split(compile_flags_str)
-
sysroot = self.get_lit_conf('sysroot')
if sysroot:
self.compile_flags += ['--sysroot', sysroot]
@@ -339,16 +343,18 @@ class Configuration(object):
self.config.available_features.add('libcpp-has-no-monotonic-clock')
def configure_link_flags(self):
- self.link_flags += ['-nodefaultlibs']
+ no_default_flags = self.get_lit_bool('no_default_flags', False)
+ if not no_default_flags:
+ self.link_flags += ['-nodefaultlibs']
- # Configure library path
- self.configure_link_flags_cxx_library_path()
- self.configure_link_flags_abi_library_path()
+ # Configure library path
+ self.configure_link_flags_cxx_library_path()
+ self.configure_link_flags_abi_library_path()
- # Configure libraries
- self.configure_link_flags_cxx_library()
- self.configure_link_flags_abi_library()
- self.configure_extra_library_flags()
+ # Configure libraries
+ self.configure_link_flags_cxx_library()
+ self.configure_link_flags_abi_library()
+ self.configure_extra_library_flags()
link_flags_str = self.get_lit_conf('link_flags', '')
self.link_flags += shlex.split(link_flags_str)
diff --git a/www/lit_usage.html b/www/lit_usage.html
index 91d75373..40036eb0 100644
--- a/www/lit_usage.html
+++ b/www/lit_usage.html
@@ -131,6 +131,16 @@ Note: This does not use the installed headers.
+
+
no_default_flags=<bool>
+
+Default: False
+Disable all default compile and link flags from being added. When this option is
+used only flags specified using the compile_flags
and
+link_flags
will be used.
+
+
+
compile_flags="<list-of-args>"