diff options
author | Mikhail R. Gadelha <mikhail@igalia.com> | 2024-07-08 18:19:06 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-08 13:19:06 -0300 |
commit | 7776fba473a216b2d1a765491bdc5db710cdff8f (patch) | |
tree | 63556101f01661873e226436dc784033d0a74d76 /lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp | |
parent | 3320036370ba3719471ab243f253237e88996495 (diff) | |
download | llvm-7776fba473a216b2d1a765491bdc5db710cdff8f.zip llvm-7776fba473a216b2d1a765491bdc5db710cdff8f.tar.gz llvm-7776fba473a216b2d1a765491bdc5db710cdff8f.tar.bz2 |
[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.
Diffstat (limited to 'lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp')
0 files changed, 0 insertions, 0 deletions