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>"