From f122174aacc4a95785a7cbc386176770ca0d0a90 Mon Sep 17 00:00:00 2001 From: w00657280 Date: Wed, 5 Mar 2025 21:23:53 +0800 Subject: [PATCH] fix: llvm19 build Signed-off-by: w00657280 --- libcxx/include/__tuple | 550 ------------------ libcxx/include/__tuple/find_index.h | 62 ++ libcxx/include/__tuple/ignore.h | 39 ++ libcxx/include/__tuple/make_tuple_types.h | 80 +++ libcxx/include/__tuple/sfinae_helpers.h | 142 +++++ libcxx/include/__tuple/tuple_element.h | 58 ++ libcxx/include/__tuple/tuple_indices.h | 37 ++ libcxx/include/__tuple/tuple_like.h | 42 ++ libcxx/include/__tuple/tuple_like_ext.h | 52 ++ .../include/__tuple/tuple_like_no_subrange.h | 61 ++ libcxx/include/__tuple/tuple_size.h | 75 +++ libcxx/include/__tuple/tuple_types.h | 25 + 12 files changed, 673 insertions(+), 550 deletions(-) delete mode 100644 libcxx/include/__tuple create mode 100644 libcxx/include/__tuple/find_index.h create mode 100644 libcxx/include/__tuple/ignore.h create mode 100644 libcxx/include/__tuple/make_tuple_types.h create mode 100644 libcxx/include/__tuple/sfinae_helpers.h create mode 100644 libcxx/include/__tuple/tuple_element.h create mode 100644 libcxx/include/__tuple/tuple_indices.h create mode 100644 libcxx/include/__tuple/tuple_like.h create mode 100644 libcxx/include/__tuple/tuple_like_ext.h create mode 100644 libcxx/include/__tuple/tuple_like_no_subrange.h create mode 100644 libcxx/include/__tuple/tuple_size.h create mode 100644 libcxx/include/__tuple/tuple_types.h diff --git a/libcxx/include/__tuple b/libcxx/include/__tuple deleted file mode 100644 index f85036e7af1d..000000000000 --- a/libcxx/include/__tuple +++ /dev/null @@ -1,550 +0,0 @@ -// -*- C++ -*- -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef _LIBCPP___TUPLE -#define _LIBCPP___TUPLE - -#include <__config> -#include -#include - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -#endif - - -_LIBCPP_BEGIN_NAMESPACE_STD - -template struct _LIBCPP_TEMPLATE_VIS tuple_size; - -#if !defined(_LIBCPP_CXX03_LANG) -template -using __enable_if_tuple_size_imp = _Tp; - -template -struct _LIBCPP_TEMPLATE_VIS tuple_size<__enable_if_tuple_size_imp< - const _Tp, - __enable_if_t::value>, - integral_constant)>>> - : public integral_constant::value> {}; - -template -struct _LIBCPP_TEMPLATE_VIS tuple_size<__enable_if_tuple_size_imp< - volatile _Tp, - __enable_if_t::value>, - integral_constant)>>> - : public integral_constant::value> {}; - -template -struct _LIBCPP_TEMPLATE_VIS tuple_size<__enable_if_tuple_size_imp< - const volatile _Tp, - integral_constant)>>> - : public integral_constant::value> {}; - -#else -template struct _LIBCPP_TEMPLATE_VIS tuple_size : public tuple_size<_Tp> {}; -template struct _LIBCPP_TEMPLATE_VIS tuple_size : public tuple_size<_Tp> {}; -template struct _LIBCPP_TEMPLATE_VIS tuple_size : public tuple_size<_Tp> {}; -#endif - -template struct _LIBCPP_TEMPLATE_VIS tuple_element; - -template -struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, const _Tp> -{ - typedef _LIBCPP_NODEBUG typename add_const::type>::type type; -}; - -template -struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, volatile _Tp> -{ - typedef _LIBCPP_NODEBUG typename add_volatile::type>::type type; -}; - -template -struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, const volatile _Tp> -{ - typedef _LIBCPP_NODEBUG typename add_cv::type>::type type; -}; - -template struct __tuple_like : false_type {}; - -template struct __tuple_like : public __tuple_like<_Tp> {}; -template struct __tuple_like : public __tuple_like<_Tp> {}; -template struct __tuple_like : public __tuple_like<_Tp> {}; - -// tuple specializations - -#ifndef _LIBCPP_CXX03_LANG - -template struct __tuple_indices {}; - -template -struct __integer_sequence { - template