[libcxx-commits] [libcxx] 9a3cb73 - [libc++] [test] Eliminate the libcpp-no-if-constexpr feature flag.

Arthur O'Dwyer via libcxx-commits libcxx-commits at lists.llvm.org
Mon Nov 8 13:58:58 PST 2021


Author: Arthur O'Dwyer
Date: 2021-11-08T16:58:47-05:00
New Revision: 9a3cb73460686094b0920705ff5a5c64d3017936

URL: https://github.com/llvm/llvm-project/commit/9a3cb73460686094b0920705ff5a5c64d3017936
DIFF: https://github.com/llvm/llvm-project/commit/9a3cb73460686094b0920705ff5a5c64d3017936.diff

LOG: [libc++] [test] Eliminate the libcpp-no-if-constexpr feature flag.

At this point, every supported compiler that claims a -std=c++17 mode
should also support `if constexpr`. This was an issue for GCC 5
and GCC 6, but hasn't been an issue since GCC 7. (Our current
minimum supported GCC version, IIUC, is GCC 10 or 11.)

Differential Revision: https://reviews.llvm.org/D113348

Added: 
    

Modified: 
    libcxx/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp
    libcxx/test/libcxx/debug/containers/db_sequence_container_iterators.multithread.pass.cpp
    libcxx/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp
    libcxx/test/libcxx/debug/containers/db_string.pass.cpp
    libcxx/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp
    libcxx/test/libcxx/debug/db_string_view.pass.cpp
    libcxx/test/support/container_debug_tests.h
    libcxx/utils/libcxx/test/features.py

Removed: 
    


################################################################################
diff  --git a/libcxx/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp b/libcxx/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp
index afda15e871816..e678e16ad4d6c 100644
--- a/libcxx/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp
+++ b/libcxx/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp
@@ -8,7 +8,6 @@
 
 // UNSUPPORTED: c++03, c++11, c++14
 // UNSUPPORTED: windows
-// UNSUPPORTED: libcpp-no-if-constexpr
 
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
 // UNSUPPORTED: libcxx-no-debug-mode

diff  --git a/libcxx/test/libcxx/debug/containers/db_sequence_container_iterators.multithread.pass.cpp b/libcxx/test/libcxx/debug/containers/db_sequence_container_iterators.multithread.pass.cpp
index 954fb1f69270b..70d92e827175c 100644
--- a/libcxx/test/libcxx/debug/containers/db_sequence_container_iterators.multithread.pass.cpp
+++ b/libcxx/test/libcxx/debug/containers/db_sequence_container_iterators.multithread.pass.cpp
@@ -9,7 +9,6 @@
 // UNSUPPORTED: c++03, c++11, c++14
 // UNSUPPORTED: windows
 // UNSUPPORTED: libcpp-has-no-threads
-// UNSUPPORTED: libcpp-no-if-constexpr
 
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
 // UNSUPPORTED: libcxx-no-debug-mode

diff  --git a/libcxx/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp b/libcxx/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp
index 1db96226ceea4..7b82a70d3b408 100644
--- a/libcxx/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp
+++ b/libcxx/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp
@@ -8,7 +8,6 @@
 
 // UNSUPPORTED: c++03, c++11, c++14
 // UNSUPPORTED: windows
-// UNSUPPORTED: libcpp-no-if-constexpr
 
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
 // UNSUPPORTED: libcxx-no-debug-mode

diff  --git a/libcxx/test/libcxx/debug/containers/db_string.pass.cpp b/libcxx/test/libcxx/debug/containers/db_string.pass.cpp
index 9402da5232588..f74529c6a66dc 100644
--- a/libcxx/test/libcxx/debug/containers/db_string.pass.cpp
+++ b/libcxx/test/libcxx/debug/containers/db_string.pass.cpp
@@ -8,7 +8,6 @@
 
 // UNSUPPORTED: c++03, c++11, c++14
 // UNSUPPORTED: windows
-// UNSUPPORTED: libcpp-no-if-constexpr
 
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
 // UNSUPPORTED: libcxx-no-debug-mode

diff  --git a/libcxx/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp b/libcxx/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp
index 6d4809a2c9324..979070cd4750a 100644
--- a/libcxx/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp
+++ b/libcxx/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp
@@ -8,7 +8,6 @@
 
 // UNSUPPORTED: c++03, c++11, c++14
 // UNSUPPORTED: windows
-// UNSUPPORTED: libcpp-no-if-constexpr
 
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
 // UNSUPPORTED: libcxx-no-debug-mode

diff  --git a/libcxx/test/libcxx/debug/db_string_view.pass.cpp b/libcxx/test/libcxx/debug/db_string_view.pass.cpp
index b38bc3186ba88..bd04b062ea641 100644
--- a/libcxx/test/libcxx/debug/db_string_view.pass.cpp
+++ b/libcxx/test/libcxx/debug/db_string_view.pass.cpp
@@ -8,7 +8,6 @@
 
 // UNSUPPORTED: c++03, c++11, c++14
 // UNSUPPORTED: windows
-// UNSUPPORTED: libcpp-no-if-constexpr
 
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
 // UNSUPPORTED: libcxx-no-debug-mode

diff  --git a/libcxx/test/support/container_debug_tests.h b/libcxx/test/support/container_debug_tests.h
index 0ddd272f3aa0d..203357aa43362 100644
--- a/libcxx/test/support/container_debug_tests.h
+++ b/libcxx/test/support/container_debug_tests.h
@@ -33,11 +33,6 @@
 #error This header may only be used in C++17 and greater
 #endif
 
-#ifndef __cpp_if_constexpr
-#error These tests require if constexpr
-#endif
-
-
 namespace IteratorDebugChecks {
 
 enum ContainerType {

diff  --git a/libcxx/utils/libcxx/test/features.py b/libcxx/utils/libcxx/test/features.py
index fe2aa14af70b2..9bde800d64588 100644
--- a/libcxx/utils/libcxx/test/features.py
+++ b/libcxx/utils/libcxx/test/features.py
@@ -36,7 +36,6 @@
   Feature(name='-fsized-deallocation',          when=lambda cfg: hasCompileFlag(cfg, '-fsized-deallocation')),
   Feature(name='-faligned-allocation',          when=lambda cfg: hasCompileFlag(cfg, '-faligned-allocation')),
   Feature(name='fdelayed-template-parsing',     when=lambda cfg: hasCompileFlag(cfg, '-fdelayed-template-parsing')),
-  Feature(name='libcpp-no-if-constexpr',        when=lambda cfg: '__cpp_if_constexpr' not in featureTestMacros(cfg)),
   Feature(name='libcpp-no-structured-bindings', when=lambda cfg: '__cpp_structured_bindings' not in featureTestMacros(cfg)),
   Feature(name='libcpp-no-concepts',            when=lambda cfg: featureTestMacros(cfg).get('__cpp_concepts', 0) < 201907),
   Feature(name='has-fobjc-arc',                 when=lambda cfg: hasCompileFlag(cfg, '-xobjective-c++ -fobjc-arc') and


        


More information about the libcxx-commits mailing list