From 6efb1c19a7862ec6bc6c2fa10062f74b4ae2050d Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Tue, 7 Nov 2017 20:20:58 +0000 Subject: [PATCH] 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 --- docs/TestingLibcxx.rst | 2 +- .../istream.iterator.cons/default.pass.cpp | 2 +- .../new.delete.array/sized_delete_array11.pass.cpp | 2 +- .../new.delete/new.delete.single/sized_delete11.pass.cpp | 2 +- utils/libcxx/test/config.py | 8 +++++--- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/TestingLibcxx.rst b/docs/TestingLibcxx.rst index 5c48ebe61..8f0d98510 100644 --- a/docs/TestingLibcxx.rst +++ b/docs/TestingLibcxx.rst @@ -112,7 +112,7 @@ configuration. Passing the option on the command line will override the default. .. option:: std= - **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. diff --git a/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp b/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp index 10bba08ea..937bb8d3a 100644 --- a/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp +++ b/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp @@ -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 // diff --git a/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array11.pass.cpp b/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array11.pass.cpp index 3e41b24d2..862318d0b 100644 --- a/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array11.pass.cpp +++ b/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array11.pass.cpp @@ -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 diff --git a/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete11.pass.cpp b/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete11.pass.cpp index 57fb1eb88..945bf779a 100644 --- a/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete11.pass.cpp +++ b/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete11.pass.cpp @@ -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 diff --git a/utils/libcxx/test/config.py b/utils/libcxx/test/config.py index 67927c912..0d907d7f5 100644 --- a/utils/libcxx/test/config.py +++ b/utils/libcxx/test/config.py @@ -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)