[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