[libcxx-commits] [PATCH] D99307: [libc++] Eliminate <compare>'s dependency on <array>
Arthur O'Dwyer via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Mar 25 07:35:17 PDT 2021
This revision was automatically updated to reflect the committed changes.
Closed by commit rGe21ab31f45a4: [libc++] Eliminate <compare>'s dependency on <array>. (authored by arthur.j.odwyer).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D99307/new/
https://reviews.llvm.org/D99307
Files:
libcxx/include/compare
Index: libcxx/include/compare
===================================================================
--- libcxx/include/compare
+++ libcxx/include/compare
@@ -126,7 +126,6 @@
#include <__config>
#include <type_traits>
-#include <array>
#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
#pragma GCC system_header
@@ -701,8 +700,8 @@
template <size_t _Size>
constexpr _ClassifyCompCategory
-__compute_comp_type(array<_ClassifyCompCategory, _Size> __types) {
- array<int, _CCC_Size> __seen = {};
+__compute_comp_type(const _ClassifyCompCategory (&__types)[_Size]) {
+ int __seen[_CCC_Size] = {};
for (auto __type : __types)
++__seen[__type];
if (__seen[_None])
@@ -723,9 +722,8 @@
template <class ..._Ts>
constexpr auto __get_comp_type() {
using _CCC = _ClassifyCompCategory;
- constexpr array<_CCC, sizeof...(_Ts)> __type_kinds{{__comp_detail::__type_to_enum<_Ts>()...}};
- constexpr _CCC _Cat = sizeof...(_Ts) == 0 ? _StrongOrd
- : __compute_comp_type(__type_kinds);
+ constexpr _CCC __type_kinds[] = {_StrongOrd, __type_to_enum<_Ts>()...};
+ constexpr _CCC _Cat = __compute_comp_type(__type_kinds);
if constexpr (_Cat == _None)
return void();
else if constexpr (_Cat == _WeakEq)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D99307.333302.patch
Type: text/x-patch
Size: 1220 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210325/bb81630c/attachment.bin>
More information about the libcxx-commits
mailing list