llvm-project/libcxx/test/std/experimental/utilities
Eric Fiselier daf21c3f69 Adjust libc++ test infastructure to fully support modules
This patch overhalls the libc++ test format/configuration in order to fully support modules. By "fully support" I mean get almost all of the tests passing. The main hurdle for doing this is handling tests that `#define _LIBCPP_FOO` macros to test a different configuration. This patch deals with these tests in the following ways:

1. For tests that define single `_LIBCPP_ABI_FOO` macros have been annotated with `// MODULES_DEFINES: _LIBCPP_ABI_FOO`. This allows the test suite to define the macro on the command line so it uses a different set of modules.
2. Tests for libc++'s debug mode (which define custom `_LIBCPP_ASSERT`) are automatically detected by the test suite and are compiled and run with modules disabled.

This patch also cleans up how the `CXXCompiler` helper class handles enabling/disabling language features.

NOTE: This patch uses `LIT` features which were only committed to LLVM today. If this patch breaks running the libc++ tests you probably need to update LLVM.
llvm-svn: 288728
2016-12-05 23:16:07 +00:00
..
meta Implement conjuntion/disjuntion/negation for LFTS v2. Same code and tests for the ones in std:: 2016-11-26 18:45:03 +00:00
propagate_const Implement std::experimental::propagate_const from LFTS v2 2016-06-19 19:34:13 +00:00
ratio [libcxx] Add <experimental/ratio> 2015-02-17 16:52:03 +00:00
syserror/header.system_error.synop Fix alignment in tests for readability. 2015-02-03 21:00:15 +00:00
time/header.chrono.synop [libcxx] Add <experimental/chrono> 2015-02-02 21:05:47 +00:00
tuple Adjust libc++ test infastructure to fully support modules 2016-12-05 23:16:07 +00:00
utility Move more _LIBCPP_VERSION tests to test/libcxx. 2016-06-22 02:07:26 +00:00
nothing_to_do.pass.cpp