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:
@@ -112,7 +112,7 @@ configuration. Passing the option on the command line will override the default.
|
|||||||
|
|
||||||
.. option:: std=<standard version>
|
.. 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.
|
Change the standard version used when building the tests.
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
// Usage of is_trivially_constructible is broken with these compilers.
|
// Usage of is_trivially_constructible is broken with these compilers.
|
||||||
// See https://bugs.llvm.org/show_bug.cgi?id=31016
|
// 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>
|
// <iterator>
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
// Note that sized delete operator definitions below are simply ignored
|
// Note that sized delete operator definitions below are simply ignored
|
||||||
// when sized deallocation is not supported, e.g., prior to C++14.
|
// 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
|
// UNSUPPORTED: sanitizer-new-delete
|
||||||
|
|
||||||
#include <new>
|
#include <new>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
// Note that sized delete operator definitions below are simply ignored
|
// Note that sized delete operator definitions below are simply ignored
|
||||||
// when sized deallocation is not supported, e.g., prior to C++14.
|
// 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
|
// UNSUPPORTED: sanitizer-new-delete
|
||||||
|
|
||||||
#include <new>
|
#include <new>
|
||||||
|
|||||||
@@ -517,7 +517,7 @@ class Configuration(object):
|
|||||||
std = self.get_lit_conf('std')
|
std = self.get_lit_conf('std')
|
||||||
if not std:
|
if not std:
|
||||||
# Choose the newest possible language dialect if none is given.
|
# 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':
|
if self.cxx.type == 'gcc':
|
||||||
maj_v, _, _ = self.cxx.version
|
maj_v, _, _ = self.cxx.version
|
||||||
maj_v = int(maj_v)
|
maj_v = int(maj_v)
|
||||||
@@ -538,7 +538,9 @@ class Configuration(object):
|
|||||||
'Failed to infer a supported language dialect from one of %r'
|
'Failed to infer a supported language dialect from one of %r'
|
||||||
% possible_stds)
|
% possible_stds)
|
||||||
self.cxx.compile_flags += ['-std={0}'.format(std)]
|
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
|
# Configure include paths
|
||||||
self.configure_compile_flags_header_includes()
|
self.configure_compile_flags_header_includes()
|
||||||
self.target_info.add_cxx_compile_flags(self.cxx.compile_flags)
|
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
|
# Turn on warnings by default for Clang based compilers when C++ >= 11
|
||||||
default_enable_warnings = self.cxx.type in ['clang', 'apple-clang'] \
|
default_enable_warnings = self.cxx.type in ['clang', 'apple-clang'] \
|
||||||
and len(self.config.available_features.intersection(
|
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',
|
enable_warnings = self.get_lit_bool('enable_warnings',
|
||||||
default_enable_warnings)
|
default_enable_warnings)
|
||||||
self.cxx.useWarnings(enable_warnings)
|
self.cxx.useWarnings(enable_warnings)
|
||||||
|
|||||||
Reference in New Issue
Block a user