From a745465ae4f51eed597ff3342a5e57fc990e16fb 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.
llvm-svn: 226322
---
libcxx/test/libcxx/test/config.py | 34 ++++++++++++++++++++--------------
libcxx/www/lit_usage.html | 10 ++++++++++
2 files changed, 30 insertions(+), 14 deletions(-)
diff --git a/libcxx/test/libcxx/test/config.py b/libcxx/test/libcxx/test/config.py
index 70af0df..e4d3b64 100644
--- a/libcxx/test/libcxx/test/config.py
+++ b/libcxx/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']
-
- # 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()
+ 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 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/libcxx/www/lit_usage.html b/libcxx/www/lit_usage.html
index 91d7537..40036eb 100644
--- a/libcxx/www/lit_usage.html
+++ b/libcxx/www/lit_usage.html
@@ -132,6 +132,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>"
Specify additional compile flags as a space delimited string.
--
2.7.4