[libcxx-commits] [PATCH] D89866: [libcxx] [test] Mark bits of fs.enum tests as libcpp specific

Martin Storsjö via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Oct 21 05:38:07 PDT 2020


mstorsjo updated this revision to Diff 299647.
mstorsjo added a comment.

Using `LIBCPP_STATIC_ASSERT` in the changed lines, and added some comments. There's a few cases of existing `LIBCPP_ONLY(static_assert())` in other lines nearby that I'm not touching here though.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D89866/new/

https://reviews.llvm.org/D89866

Files:
  libcxx/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp


Index: libcxx/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp
===================================================================
--- libcxx/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp
+++ libcxx/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp
@@ -25,7 +25,7 @@
 
   // Check that E is a scoped enum by checking for conversions.
   typedef std::underlying_type<E>::type UT;
-  static_assert(!std::is_convertible<E, UT>::value, "");
+  LIBCPP_STATIC_ASSERT(!std::is_convertible<E, UT>::value, ""));
 
   LIBCPP_ONLY(static_assert(std::is_same<UT, unsigned char>::value, "")); // Implementation detail
 
Index: libcxx/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp
===================================================================
--- libcxx/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp
+++ libcxx/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp
@@ -31,7 +31,8 @@
 
   LIBCPP_ONLY(static_assert(std::is_same<UT, signed char>::value, "")); // Implementation detail
 
-  static_assert(
+  // The standard doesn't specify the numeric values of the enum.
+  LIBCPP_STATIC_ASSERT(
           E::none == ME(0) &&
           E::not_found == ME(-1) &&
           E::regular == ME(1) &&
Index: libcxx/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp
===================================================================
--- libcxx/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp
+++ libcxx/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp
@@ -35,26 +35,27 @@
   typedef check_bitmask_type<E, E::skip_existing, E::update_existing> BitmaskTester;
   assert(BitmaskTester::check());
 
-  static_assert(
+  // The standard doesn't specify the numeric values of the enum.
+  LIBCPP_STATIC_ASSERT(
           E::none == ME(0),
         "Expected enumeration values do not match");
   // Option group for copy_file
-  static_assert(
+  LIBCPP_STATIC_ASSERT(
           E::skip_existing      == ME(1) &&
           E::overwrite_existing == ME(2) &&
           E::update_existing    == ME(4),
         "Expected enumeration values do not match");
   // Option group for copy on directories
-  static_assert(
+  LIBCPP_STATIC_ASSERT(
           E::recursive == ME(8),
         "Expected enumeration values do not match");
   // Option group for copy on symlinks
-  static_assert(
+  LIBCPP_STATIC_ASSERT(
           E::copy_symlinks == ME(16) &&
           E::skip_symlinks == ME(32),
         "Expected enumeration values do not match");
   // Option group for changing form of copy
-  static_assert(
+  LIBCPP_STATIC_ASSERT(
           E::directories_only    == ME(64) &&
           E::create_symlinks     == ME(128) &&
           E::create_hard_links   == ME(256),


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D89866.299647.patch
Type: text/x-patch
Size: 2830 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20201021/242424ed/attachment.bin>


More information about the libcxx-commits mailing list