[libc-commits] [libc] 82f1967 - [libc] Update size_t and ssize_t definitions to use __SIZE_TYPE__ and __PTRDIFF_TYPE__ respectively. (#143921)
via libc-commits
libc-commits at lists.llvm.org
Thu Jun 12 10:11:45 PDT 2025
Author: lntue
Date: 2025-06-12T13:11:42-04:00
New Revision: 82f19674bff578b9afd164144fd6b75d042ac932
URL: https://github.com/llvm/llvm-project/commit/82f19674bff578b9afd164144fd6b75d042ac932
DIFF: https://github.com/llvm/llvm-project/commit/82f19674bff578b9afd164144fd6b75d042ac932.diff
LOG: [libc] Update size_t and ssize_t definitions to use __SIZE_TYPE__ and __PTRDIFF_TYPE__ respectively. (#143921)
The current definition of `ssize_t` does not have the same bit width as
`size_t` on 32-bit platforms.
Added:
Modified:
libc/include/llvm-libc-types/size_t.h
libc/include/llvm-libc-types/ssize_t.h
Removed:
################################################################################
diff --git a/libc/include/llvm-libc-types/size_t.h b/libc/include/llvm-libc-types/size_t.h
index 3b31b0820f237..26ae68abe0ee7 100644
--- a/libc/include/llvm-libc-types/size_t.h
+++ b/libc/include/llvm-libc-types/size_t.h
@@ -9,11 +9,6 @@
#ifndef LLVM_LIBC_TYPES_SIZE_T_H
#define LLVM_LIBC_TYPES_SIZE_T_H
-// Since __need_size_t is defined, we get the definition of size_t from the
-// standalone C header stddef.h. Also, because __need_size_t is defined,
-// including stddef.h will pull only the type size_t and nothing else.
-#define __need_size_t
-#include <stddef.h>
-#undef __need_size_t
+typedef __SIZE_TYPE__ size_t;
#endif // LLVM_LIBC_TYPES_SIZE_T_H
diff --git a/libc/include/llvm-libc-types/ssize_t.h b/libc/include/llvm-libc-types/ssize_t.h
index 41e4b6d2c500a..8f579e2749bac 100644
--- a/libc/include/llvm-libc-types/ssize_t.h
+++ b/libc/include/llvm-libc-types/ssize_t.h
@@ -9,6 +9,6 @@
#ifndef LLVM_LIBC_TYPES_SSIZE_T_H
#define LLVM_LIBC_TYPES_SSIZE_T_H
-typedef __INT64_TYPE__ ssize_t;
+typedef __PTRDIFF_TYPE__ ssize_t;
#endif // LLVM_LIBC_TYPES_SSIZE_T_H
More information about the libc-commits
mailing list