Change test suite to support c++17 dialect flag instead of c++1z.

This patch changes the test suite to attempt and prefer -std=c++17 over
-std=c++1z. It also fixes the REQUIRES and UNSUPPORTED lit markers
to refer to c++17 over c++1z.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@317610 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Fiselier 2017-11-07 20:20:58 +00:00
parent 2e390822e5
commit 6efb1c19a7
5 changed files with 9 additions and 7 deletions

View File

@ -112,7 +112,7 @@ configuration. Passing the option on the command line will override the default.
.. option:: std=<standard version>
**Values**: c++98, c++03, c++11, c++14, c++1z
**Values**: c++98, c++03, c++11, c++14, c++17
Change the standard version used when building the tests.

View File

@ -9,7 +9,7 @@
// Usage of is_trivially_constructible is broken with these compilers.
// See https://bugs.llvm.org/show_bug.cgi?id=31016
// XFAIL: clang-3.7, apple-clang-7 && c++1z
// XFAIL: clang-3.7, apple-clang-7 && c++17
// <iterator>

View File

@ -12,7 +12,7 @@
// Note that sized delete operator definitions below are simply ignored
// when sized deallocation is not supported, e.g., prior to C++14.
// UNSUPPORTED: c++14, c++1z
// UNSUPPORTED: c++14, c++17
// UNSUPPORTED: sanitizer-new-delete
#include <new>

View File

@ -12,7 +12,7 @@
// Note that sized delete operator definitions below are simply ignored
// when sized deallocation is not supported, e.g., prior to C++14.
// UNSUPPORTED: c++14, c++1z
// UNSUPPORTED: c++14, c++17
// UNSUPPORTED: sanitizer-new-delete
#include <new>

View File

@ -517,7 +517,7 @@ class Configuration(object):
std = self.get_lit_conf('std')
if not std:
# Choose the newest possible language dialect if none is given.
possible_stds = ['c++1z', 'c++14', 'c++11', 'c++03']
possible_stds = ['c++17', 'c++1z', 'c++14', 'c++11', 'c++03']
if self.cxx.type == 'gcc':
maj_v, _, _ = self.cxx.version
maj_v = int(maj_v)
@ -538,7 +538,9 @@ class Configuration(object):
'Failed to infer a supported language dialect from one of %r'
% possible_stds)
self.cxx.compile_flags += ['-std={0}'.format(std)]
self.config.available_features.add(std.replace('gnu++', 'c++'))
std_feature = std.replace('gnu++', 'c++')
std_feature = std.replace('1z', '17')
self.config.available_features.add(std_feature)
# Configure include paths
self.configure_compile_flags_header_includes()
self.target_info.add_cxx_compile_flags(self.cxx.compile_flags)
@ -886,7 +888,7 @@ class Configuration(object):
# Turn on warnings by default for Clang based compilers when C++ >= 11
default_enable_warnings = self.cxx.type in ['clang', 'apple-clang'] \
and len(self.config.available_features.intersection(
['c++11', 'c++14', 'c++1z'])) != 0
['c++11', 'c++14', 'c++17'])) != 0
enable_warnings = self.get_lit_bool('enable_warnings',
default_enable_warnings)
self.cxx.useWarnings(enable_warnings)