[all-commits] [llvm/llvm-project] 7776fb: [libc][NFC] Adjust use of off_t internally (#68269)
Mikhail R. Gadelha via All-commits
all-commits at lists.llvm.org
Mon Jul 8 09:19:28 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7776fba473a216b2d1a765491bdc5db710cdff8f
https://github.com/llvm/llvm-project/commit/7776fba473a216b2d1a765491bdc5db710cdff8f
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M libc/src/__support/File/file.cpp
M libc/src/__support/File/file.h
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/File/linux/file.h
M libc/src/stdio/fopencookie.cpp
M libc/src/stdio/generic/ftell.cpp
M libc/src/sys/mman/linux/mmap.cpp
M libc/src/unistd/linux/pread.cpp
M libc/src/unistd/linux/pwrite.cpp
M libc/test/src/__support/File/file_test.cpp
Log Message:
-----------
[libc][NFC] Adjust use of off_t internally (#68269)
This patch includes changes related to the use of off_t in libc,
targeted at 32-bit systems: in several places, the offset is used either
as a long or an off_t (64-bit signed int), but in 32-bit systems a long
type is only 32 bits long.
Fix a warning in mmap where a long offset is expected, but we were
passing an off_t. A static_cast and a comment were added to explain
that we know we are ignoring the upper 32-bit of the off_t in 32-bit
systems.
The code in pread and pwrite was slightly improved to remove a
#ifdef LIBC_TARGET_ARCH_IS_RISCV32; we are using an if constexpr now.
The Linux file operations were changed to use off_t instead of a long
where applicable. No changes were made to the standard API, e.g.,
ftell returns the offset as an int so we added a static_cast and a
comment explaining that this will cause a loss of integer precision
in 32-bit systems.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list