[libcxx-commits] [PATCH] D127978: [libc++][test] Replaces TEST_IS_CONSTANT_EVALUATED.

Mark de Wever via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Jun 17 11:57:45 PDT 2022


Mordante created this revision.
Herald added a project: All.
Mordante updated this revision to Diff 437588.
Mordante added a comment.
Mordante updated this revision to Diff 437910.
Mordante published this revision for review.
Mordante added reviewers: ldionne, philnik.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

Fixes C++03 build.


Mordante added a comment.

Fixes CI.


Mordante added a comment.

I've rebased the GCC-12 CI changes (D126667 <https://reviews.llvm.org/D126667>) on top of this one and the GCC CI is happy (https://buildkite.com/llvm-project/libcxx-ci/builds/11560).
So that means the only tautological comparison issues where the constant evaluated messages.



================
Comment at: libcxx/test/std/strings/string.view/string.view.comparison/not_equal.pass.cpp:58
 
-            if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20) {
+			// fails in C++17
+            if (!is_constant_evaluated(TestedCppVersion::Cpp14) || TEST_STD_VER >= 20) {
----------------
I'll remove this comment before landing or the next upload whatever comes first.


When using GCC-12 in C++11 mode the TEST_IS_CONSTANT_EVALUATED macro
causes "tautological compare" errors.  This replaces the macro with a
helper function. The function is based on @philnik's suggestion in
D126667 <https://reviews.llvm.org/D126667>.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D127978

Files:
  libcxx/test/libcxx/algorithms/robust_against_copying_comparators.pass.cpp
  libcxx/test/std/algorithms/robust_re_difference_type.compile.pass.cpp
  libcxx/test/std/strings/basic.string/string.access/at.pass.cpp
  libcxx/test/std/strings/basic.string/string.capacity/reserve_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.capacity/resize_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.capacity/resize_size_char.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/T_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/copy_alloc.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/substr.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_append/T_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_append/string_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_assign/T_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_copy/copy.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_erase/size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_T_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_size_char.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_string.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_string_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_iter_iter.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_T_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_size_char.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_view.pass.cpp
  libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_T_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer.pass.cpp
  libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp
  libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_view.pass.cpp
  libcxx/test/std/strings/basic.string/string.ops/string_substr/substr.pass.cpp
  libcxx/test/std/strings/string.view/string.view.comparison/equal.pass.cpp
  libcxx/test/std/strings/string.view/string.view.comparison/greater.pass.cpp
  libcxx/test/std/strings/string.view/string.view.comparison/greater_equal.pass.cpp
  libcxx/test/std/strings/string.view/string.view.comparison/less.pass.cpp
  libcxx/test/std/strings/string.view/string.view.comparison/less_equal.pass.cpp
  libcxx/test/std/strings/string.view/string.view.comparison/not_equal.pass.cpp
  libcxx/test/support/constant_evaluated.h
  libcxx/test/support/constexpr_char_traits.h
  libcxx/test/support/test_macros.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D127978.437910.patch
Type: text/x-patch
Size: 49540 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220617/8ee5bd0e/attachment-0001.bin>


More information about the libcxx-commits mailing list