[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

Casey Carter via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 12 09:05:52 PST 2017


CaseyCarter updated this revision to Diff 126559.
CaseyCarter added a comment.

Better/simpler workaround from Zhihao.


https://reviews.llvm.org/D41048

Files:
  include/tuple


Index: include/tuple
===================================================================
--- include/tuple
+++ include/tuple
@@ -1012,10 +1012,10 @@
 
 template <class _T1, class ..._Args>
 struct __find_exactly_one_checked {
-  static constexpr bool __matches[] = {is_same<_T1, _Args>::value...};
+    static constexpr bool __matches[sizeof...(_Args)] = {is_same<_T1, _Args>::value...};
     static constexpr size_t value = __find_detail::__find_idx(0, __matches);
-    static_assert (value != __not_found, "type not found in type list" );
-    static_assert(value != __ambiguous,"type occurs more than once in type list");
+    static_assert(value != __not_found, "type not found in type list" );
+    static_assert(value != __ambiguous, "type occurs more than once in type list");
 };
 
 template <class _T1>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41048.126559.patch
Type: text/x-patch
Size: 812 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20171212/e6cf716d/attachment.bin>


More information about the cfe-commits mailing list