[libcxx-commits] [libcxx] 619f478 - [libc++][test] Fix size calculation for `unordered_map` in ABI test (#157006)
via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Sep 5 02:46:33 PDT 2025
Author: A. Jiang
Date: 2025-09-05T17:46:29+08:00
New Revision: 619f478d76d1e4039a6e089b3d71f5119bdc470c
URL: https://github.com/llvm/llvm-project/commit/619f478d76d1e4039a6e089b3d71f5119bdc470c
DIFF: https://github.com/llvm/llvm-project/commit/619f478d76d1e4039a6e089b3d71f5119bdc470c.diff
LOG: [libc++][test] Fix size calculation for `unordered_map` in ABI test (#157006)
Currently,
`libcxx\test\libcxx\containers\associative\unord.map\abi.compile.pass.cpp`
consistently fails for 32-bit platforms.
There's an off-by-4 size calculation error for some `unordered_map`
specializations, possibly due to mistakenly ignoring some data member.
Added:
Modified:
libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
Removed:
################################################################################
diff --git a/libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp b/libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
index 39fc9fe94a83c..a9fafe0452ac3 100644
--- a/libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
+++ b/libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
@@ -209,9 +209,9 @@ static_assert(TEST_ALIGNOF(unordered_map_alloc<char, final_small_iter_allocator<
"");
static_assert(sizeof(std::unordered_map<int, int, FinalHash, UnalignedEqualTo>) == 24, "");
-static_assert(sizeof(std::unordered_map<int, int, FinalHash, FinalEqualTo>) == 24, "");
-static_assert(sizeof(std::unordered_map<int, int, NonEmptyHash, FinalEqualTo>) == 28, "");
-static_assert(sizeof(std::unordered_map<int, int, NonEmptyHash, NonEmptyEqualTo>) == 32, "");
+static_assert(sizeof(std::unordered_map<int, int, FinalHash, FinalEqualTo>) == 28, "");
+static_assert(sizeof(std::unordered_map<int, int, NonEmptyHash, FinalEqualTo>) == 32, "");
+static_assert(sizeof(std::unordered_map<int, int, NonEmptyHash, NonEmptyEqualTo>) == 36, "");
static_assert(TEST_ALIGNOF(std::unordered_map<int, int, FinalHash, UnalignedEqualTo>) == 4, "");
static_assert(TEST_ALIGNOF(std::unordered_map<int, int, FinalHash, FinalEqualTo>) == 4, "");
More information about the libcxx-commits
mailing list