diff --git a/libc/hdr/types/CMakeLists.txt b/libc/hdr/types/CMakeLists.txt index 89414f419a7f0..1ef1a2bee6f80 100644 --- a/libc/hdr/types/CMakeLists.txt +++ b/libc/hdr/types/CMakeLists.txt @@ -135,6 +135,14 @@ add_proxy_header_library( libc.include.llvm-libc-types.struct_tm ) +add_proxy_header_library( + rsize_t + HDRS + rsize_t.h + FULL_BUILD_DEPENDS + libc.include.llvm-libc-types.rsize_t +) + add_proxy_header_library( size_t HDRS diff --git a/libc/hdr/types/rsize_t.h b/libc/hdr/types/rsize_t.h new file mode 100644 index 0000000000000..130e6c308e264 --- /dev/null +++ b/libc/hdr/types/rsize_t.h @@ -0,0 +1,23 @@ +//===-- Proxy for rsize_t -------------------------------------------------===// +// +// 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 LLVM_LIBC_HDR_TYPES_SIZE_T_H +#define LLVM_LIBC_HDR_TYPES_SIZE_T_H + +#ifdef LIBC_FULL_BUILD + +#include "include/llvm-libc-types/rsize_t.h" + +#else + +#define __need_rsize_t +#include +#undef __need_rsize_t + +#endif // LIBC_FULL_BUILD + +#endif // LLVM_LIBC_HDR_TYPES_SIZE_T_H diff --git a/libc/include/llvm-libc-types/CMakeLists.txt b/libc/include/llvm-libc-types/CMakeLists.txt index bbeebbed2790a..d72de9fd72732 100644 --- a/libc/include/llvm-libc-types/CMakeLists.txt +++ b/libc/include/llvm-libc-types/CMakeLists.txt @@ -1,4 +1,5 @@ add_header(off64_t HDR off64_t.h) +add_header(rsize_t HDR rsize_t.h) add_header(size_t HDR size_t.h) add_header(ssize_t HDR ssize_t.h) add_header(__atfork_callback_t HDR __atfork_callback_t.h) diff --git a/libc/include/llvm-libc-types/rsize_t.h b/libc/include/llvm-libc-types/rsize_t.h new file mode 100644 index 0000000000000..dc8be02bee592 --- /dev/null +++ b/libc/include/llvm-libc-types/rsize_t.h @@ -0,0 +1,18 @@ +//===-- Definition of size_t types ----------------------------------------===// +// +// 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 LLVM_LIBC_TYPES_RSIZE_T_H +#define LLVM_LIBC_TYPES_RSIZE_T_H + +#ifdef LIBC_HAS_ANNEX_K + +typedef __SIZE_TYPE__ rsize_t; + +#endif // LIBC_HAS_ANNEX_K + +#endif // LLVM_LIBC_TYPES_RSIZE_T_H